def unCommentTag(mainApp, commentTIG): stringXML = commentTIG.getTag().text newTIG = None response = 'no' try: newTag = xml_man.parseStringXML(stringXML) newTIG = tk_app.createNewTagInTree(mainApp, commentTIG, 'SIBLING', oTag = newTag) except: response = tkMessageBox.showwarning("eXMLorer", GL.names['message_uncomment_newtag'], type=tkMessageBox.YESNO) if response == 'yes': newTIG = tk_app.createNewTagInTree(mainApp, commentTIG, 'SIBLING', text=commentTIG.getTag().text) if newTIG <> None: createChildTIGs(mainApp, newTIG, level=0) tk_app.deleteTagInTree(commentTIG.id) tk_app.selectAndFocus(newTIG.id)
def pasteFromClipboard(mainApp, baseTIG, mode='SIBLING'): if baseTIG <> None: stringXML = mainApp.selection_get(selection='CLIPBOARD') print stringXML pasteRoot = xml_man.parseStringXML(stringXML) print 'pasteRoot', pasteRoot rootTIG = tk_app.createNewTagInTree(mainApp, baseTIG, mode, oTag=pasteRoot) createChildTIGs(mainApp, rootTIG, level=0) tk_app.selectAndFocus(rootTIG.id)
def getTreeView(treeview_frame, band_buttons, dicTagsInTree): appTreeView = Treeview(treeview_frame, columns=('data','subname',)) appTreeView.pack(side="left",fill=BOTH) setScrollbar(treeview_frame, appTreeView) mainApp = treeview_frame.master.master appTreeView.column('subname', width=120, anchor='w', stretch=True) appTreeView.column('data', width=480, anchor='w', stretch=True) appTreeView.heading('subname', text= GL.names['column-subname']) appTreeView.heading('data', text= GL.names['column-data']) #indico las columnas a mostrar appTreeView.configure(displaycolumns=('subname', 'data')) #events #appTreeView.bind('<Double-Button-2>', lambda event: editTag(event.widget.master.master.master, dicTagsInTree[GL.appTreeView.identify_row(event.y)])) #la ruta larga es para llegar bien al mainApp appTreeView.bind('<<TreeviewSelect>>', lambda event: fillBandButtons(event.widget, band_buttons, dicTagsInTree)) appTreeView.bind('<Button-3>', lambda event: contextMenu(event, band_buttons, dicTagsInTree)) appTreeView.bind('<Shift-Up>', lambda event: moveNodeBind(event, dicTagsInTree)) appTreeView.bind('<Shift-Down>', lambda event: moveNodeBind(event, dicTagsInTree)) appTreeView.bind('<Control-Key-c>', lambda event: copyToClipboard(mainApp, dicTagsInTree.setdefault(appTreeView.focus(), None))) appTreeView.bind('<Control-Key-C>', lambda event: copyToClipboard(mainApp, dicTagsInTree.setdefault(appTreeView.focus(), None))) appTreeView.bind('<Control-Key-v>', lambda event: pasteFromClipboard(mainApp, dicTagsInTree.setdefault(appTreeView.focus(), None))) appTreeView.bind('<Control-Key-V>', lambda event: pasteFromClipboard(mainApp, dicTagsInTree.setdefault(appTreeView.focus(), None))) appTreeView.bind('<Control-Alt-Key-v>', lambda event: pasteFromClipboard(mainApp, dicTagsInTree.setdefault(appTreeView.focus(), None, mode='CHILD'))) appTreeView.bind('<Control-Alt-Key-V>', lambda event: pasteFromClipboard(mainApp, dicTagsInTree.setdefault(appTreeView.focus(), None, mode='CHILD'))) appTreeView.bind('<Control-Key-n>', lambda event: tk_app.createNewTagInTree(mainApp, GL.dicTagsInTree.setdefault( GL.appTreeView.focus(), None), 'SIBLING')) appTreeView.bind('<Control-Key-N>', lambda event: tk_app.createNewTagInTree(mainApp, GL.dicTagsInTree.setdefault( GL.appTreeView.focus(), None), 'SIBLING')) appTreeView.bind('<Control-Key-i>', lambda event: tk_app.createNewTagInTree(mainApp, GL.dicTagsInTree.setdefault( GL.appTreeView.focus(), None), 'CHILD')) appTreeView.bind('<Control-Key-I>', lambda event: tk_app.createNewTagInTree(mainApp, GL.dicTagsInTree.setdefault( GL.appTreeView.focus(), None), 'CHILD')) return appTreeView
def commentTag(mainApp, oTIG): if oTIG <> None: #stringXML = xml_man.getStringXML(oTIG.getTag()) newComment = tk_app.createNewTagInTree(mainApp, oTIG, 'SIBLING', is_comment=True) tk_app.deleteTagInTree(oTIG.id)
def createChildTIGs(mainApp, parentTIG, level): for xChild in parentTIG.getTag(): print 'paste has child level', level xChildTIG = tk_app.createNewTagInTree(mainApp, parentTIG, 'CHILD', oTag=xChild) createChildTIGs(mainApp, xChildTIG, level=level+1)