On Wed, 19 Sep 2012 08:05:42 +0200, Salvatore Larosa <lrssv...@gmail.com> wrote: > Hi, > > 2012/9/19 Phil Thompson <p...@riverbankcomputing.com> > >> On Tue, 18 Sep 2012 23:16:00 +0200, Salvatore Larosa <lrssv...@gmail.com> >> wrote: >> > Hi all, >> > I am not sure if this is the rigth place to ask! >> > >> > I created a small console to execute python command by using Qscintilla >> > python bindings but something doesnt work with MIME data. >> > >> > My code is: >> > >> > def fromMimeData(self, source): >> > if source.hasText(): >> > pasteList = QStringList() >> > pasteList = source.text().split("\n") >> > if (len(pasteList) > 1): >> > self.move_cursor_to_end() >> > for line in pasteList[:-1]: >> > self.append(line) >> > self.move_cursor_to_end() >> > self.runCommand(unicode(self.currentCommand())) >> > self.append(unicode(pasteList[-1])) >> > self.move_cursor_to_end() >> > >> > First question: when I paste some text in console and run command I >> > get: >> > >> > TypeError: invalid result type from PythonEdit.fromMimeData() >> > >> > How I can avoid it? >> >> fromMimeData() should return a 2-tuple of the text as a QByteArray and a >> bool set if the selection is rectangular. >> > > Thanks for your reply. > > oddly the paste command works well although returns that error! > how should I manage the contents of tuple?
I don't know what your code is supposed to do. If your implementation of fromMimeData() is adding extra behaviour (rather than changing the default behaviour) then call the super-class implementation, ie. add the following at the end... return super(MyClass, self).fromMimeData(source) >> > Second question: If in my console I typed some text ( e.g def >> > blablabla(self): ) and then >> > I want edit it by replacing "self" with "source" by using paste >> > command, >> > the pasted text >> > is placed at the end of the current line and not between brace getting >> the >> > following result: >> > >> > def blablabla(self):source >> > >> > Any idea on how I can solve it? >> >> I can't reproduce that. What does move_cursor_to_end() do in the above >> code? >> > > move_cursor_to_end() move the cursor at the end of the current line!. > the result doesnt change if I comment out it! > if in my code I don't use the fromMimeData method, paste and drag/frop > event does work as expected! > But I need it to execute command when multi-line text is dropped or pasted! > > >> Phil >> > > Regards, > > -SL Phil _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt