Page 1 of 2 12 LastLast
Results 1 to 20 of 104

Thread: [DevQt] New versions, feature requests and bug reports

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,018 Times in 4,794 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Bumblebees on the road again!

    Some first look comments:
    • add an ability to change fonts in the editor... on my system it looks terrible
    • find dialog should be not modal -- the user should be able to use the editor while the dialog is open
    • some of the icons are smaller than others
    • the "Column-row" indicator is messed up sometimes


    Looks nice, though Waiting for more.

  2. #2
    Join Date
    Jan 2006
    Location
    travelling
    Posts
    1,116
    Thanks
    8
    Thanked 127 Times in 121 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: Bumblebees on the road again!

    Quote Originally Posted by wysota
    Some first look comments:
    • add an ability to change fonts in the editor... on my system it looks terrible
    • find dialog should be not modal -- the user should be able to use the editor while the dialog is open
    • some of the icons are smaller than others
    • the "Column-row" indicator is messed up sometimes
    Looks nice, though Waiting for more.
    Nice to see that you tried my work and liked it!
    What do you mean about the font???? It worked flawlessly on my system and I can't figure out what wrong stuff could happen!
    Totally agree with you about find & replace dialogs! I'm working on it.
    Icons smaller than others? Hum... well... I don't understand what you mean!!!
    What mess occurs for the column-row indicator? Do you mean that, sometimes, the numbers given in the status bar don't correspond to the line and/or column pointed by the mouse cursor?

    I want your comments! I'm about to post a newer version and I'd like to be able to fix such bugs!
    Current Qt projects : QCodeEdit, RotiDeCode

  3. #3
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,018 Times in 4,794 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Bumblebees on the road again!

    Quote Originally Posted by fullmetalcoder
    What do you mean about the font????
    It is ugly, so I want to change it
    It worked flawlessly on my system and I can't figure out what wrong stuff could happen!
    Well... If you want others to use it, it has to work for them too.

    Icons smaller than others? Hum... well... I don't understand what you mean!!!
    Exactly the thing I said -- some icons in the toolbar are smaller than other icons in the toolbar.

    What mess occurs for the column-row indicator? Do you mean that, sometimes, the numbers given in the status bar don't correspond to the line and/or column pointed by the mouse cursor?
    No. Often the indicator is not redrawn properly and the app ends up in having two indicators drawn one over the other cluttering themselves (and displaying different data).

  4. #4
    Join Date
    Feb 2006
    Location
    Österreich
    Posts
    35
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11

    Default Re: Bumblebees on the road again!

    Quote Originally Posted by wysota
    No. Often the indicator is not redrawn properly and the app ends up in having two indicators drawn one over the other cluttering themselves (and displaying different data).
    I didn't compile it yet (I was too lazy to get around to updating to 4.x--but doing it now as we speak just for this program!--and it doesn't make on 3.3), but looking at the code from the command line it looks like the column and row strings are painted to the same widget in the status bar. I find it's easier just to create two permanent textLabel widgets to add to the statusbar, then update the text of each textLabel when I need to rather than worry about handling strings and calling the statusbar updater. That way the widget will manage its own growing and shrinking without the two strings overlapping one another or having any "accidents."

    An example in your initializer function might be:

    QLabel *tlCurrCol = new QLabel( "Column ", this);
    QLabel *tlCurrRow = new QLabel( "Row ", this);
    statusBar()->addWidget(tlCurrCol, 0, TRUE);
    statusBar()->addWidget(tlCurrRow, 0, TRUE);


    then in the mouseEvent, rather than concatenating the string "Column " with some number and "Row " with some number then calling statusChanged() I can just do this:

    tlCurrCol->setText("Column " + QString::number(x, 10));
    tlCurrRow->setText("Row " + QString::number(y, 10));


    And because they are widgets rather than a string, the statusbar will automatically reflect the change without me having to do anything else. And I am lazy, so that's always the best solution for me.

    Again, sorry if that code isn't valid. It should be (I looked at something similar I did and just changed the variable names). I can't test it before posting because I'm currently building version 4.
    My philosophy is: If you can use a free, open-source alternative: do it. And if you can't, pretend it's free and open-source and hope you don't get caught.

  5. #5
    Join Date
    Jan 2006
    Posts
    132
    Thanked 16 Times in 16 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Thumbs up Re: Bumblebees on the road again!

    This a interesting project, allthough it might not be easy to compete with all the other IDE's allready available as others have mentioned before. I'm currently also creating a IDE, but for script programming with QSA. One may think WTH is that good for because there is allready a IDE included in QSA. Well the original just did not to suit my needs good enough, scripting is a big part of my past and future projects and I will be using the IDE many many hours in the next few years, so I just started creating a "better" one

    So good luck with this project, maybe I can contribute something in case there is need for help.
    Attached Images Attached Images
    Last edited by seneca; 11th February 2006 at 16:04.

  6. #6
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    6,264
    Thanks
    36
    Thanked 1,519 Times in 1,389 Posts
    Qt products
    Qt4
    Platforms
    MacOS X Unix/X11 Windows Symbian S60 Maemo/MeeGo

    Default Re: Bumblebees on the road again!

    Quote Originally Posted by fullmetalcoder
    What mess occurs for the column-row indicator? Do you mean that, sometimes, the numbers given in the status bar don't correspond to the line and/or column pointed by the mouse cursor?
    http://www.uusikaupunki.fi/~jpnurmi/mess.jpg

    Quote Originally Posted by fullmetalcoder
    Icons smaller than others? Hum... well... I don't understand what you mean!!!
    The size of icons differences between "file" and "edit" toolbars.

    A couple of ideas:
    - Qt specific highlighting =)
    - New/close buttons as tabwidget corner widgets (Qt assistant style)? At least close button should be "easier to access".

    Nice work buddy!

  7. #7
    Join Date
    Jan 2006
    Location
    11 N 78 E
    Posts
    110
    Thanks
    10
    Thanked 1 Time in 1 Post
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: Bumblebees on the road again!

    1. IMHO DevQT is enough. DevQT++ is unnecessary.

    2. Wishlist: Code completion, a la VB6 (maybe after that too, never saw it). When an object's name is typed followed by . or ->, bring up a combobox of applicable member functions etc -- you know VB6... If I start typing QVB then it must complete the rest -- QVBoxLayout.

    3. It must correct the case itself -- both for classes and variabled -- VB6 does that. (Of course, everyone here realizes that just because something is there in an MS product does not mean it's intrinsically bad...)

    4. One particular code completion is, when the user has typed QPushButton quit = new -- the IDE must fill in the next word which is always QPushButton and add a (, perhaps even a () while placing the cursor between the parantheses.

    5. I hope to see DevQT develop into a big app soon, though I lack the programming knowledge to contribute to it!
    Last edited by jamadagni; 17th February 2006 at 08:19.
    Penguin #395953 using Qt for open-source development on X11 using C++ and
    Python via PyQt

  8. #8
    Cesar Guest

    Post Re: Bumblebees on the road again!

    Quote Originally Posted by jamadagni
    2. Wishlist: Code completion, a la VB6 (maybe after that too, never saw it). When an object's name is typed followed by . or ->, bring up a combobox of applicable member functions etc -- you know VB6... If I start typing QVB then it must complete the rest -- QVBoxLayout.
    That would be really great We're open to suggestions of implementation algorythms
    Quote Originally Posted by jamadagni
    3. It must correct the case itself -- both for classes and variabled -- VB6 does that. (Of course, everyone here realizes that just because something is there in an MS product does not mean it's intrinsically bad...)
    Won't do. AKAIK, VB is case insensitive, whilst C++ is not. That's why no case correction should take place.
    Quote Originally Posted by jamadagni
    4. One particular code completion is, when the user has typed QPushButton quit = new -- the IDE must fill in the next word which is always QPushButton and add a (, perhaps even a () while placing the cursor between the parantheses.
    Won't do. Consider the following example:
    Qt Code:
    1. class MyPushButton : public QPushButton {
    2. //...
    3. };
    4. QPushButton *b = new MyPushButton();
    To copy to clipboard, switch view to plain text mode 
    Quote Originally Posted by jamadagni
    5. I hope to see DevQT develop into a big app soon, though I lack the programming knowledge to contribute to it!
    Either do I Thanks for your feedback!

  9. #9
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,018 Times in 4,794 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Bumblebees on the road again!

    Guys, one remark --- Are you talking about "Qt" or "QT"? Because the latter has nothing to do with this site And I see you want to name the application DevQT.

    BTW, this is wrong:
    4. One particular code completion is, when the user has typed QPushButton quit = new -- the IDE must fill in the next word which is always QPushButton and add a (, perhaps even a () while placing the cursor between the parantheses.
    What about constructions like the following:
    Qt Code:
    To copy to clipboard, switch view to plain text mode 
    Last edited by wysota; 17th February 2006 at 10:22.

  10. #10
    Join Date
    Jan 2006
    Location
    11 N 78 E
    Posts
    110
    Thanks
    10
    Thanked 1 Time in 1 Post
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: Bumblebees on the road again!

    QPushButton *b = new MyPushButton();
    1. Why don't you declare it as MyPushButton *b = new MyPushButton(); ?
    2. So long as QPu is autocompleted as QPushButton I don't have a problem with this idea being rejected!
    Penguin #395953 using Qt for open-source development on X11 using C++ and
    Python via PyQt

  11. #11
    Join Date
    Feb 2006
    Posts
    18

    Default new highlighter

    i try rewrite old Qt3 syntaxhighlighter
    with new libraries

    take a look
    Attached Files Attached Files
    Last edited by Hz; 17th February 2006 at 12:56.
    Cut and Run

  12. #12
    Join Date
    Jan 2006
    Posts
    371
    Thanks
    14
    Thanked 18 Times in 17 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: new highlighter

    Quote Originally Posted by Hz
    i try rewrite old Qt3 syntaxhighlighter
    with new libraries

    take a look
    This is FullMetalCoder 's code, which is borrowed from QSA.

    Why do I have the feeling like most codes we see on this thread are "way too similar"?

  13. #13
    Join Date
    Feb 2006
    Posts
    18

    Default Re: new highlighter

    Quote Originally Posted by elcuco
    This is FullMetalCoder 's code, which is borrowed from QSA.

    Why do I have the feeling like most codes we see on this thread are "way too similar"?
    its code from qt3 text editor - i just correct a little function "process()" in FullMetalCoder 's code
    Last edited by Hz; 17th February 2006 at 13:17.
    Cut and Run

  14. #14
    Join Date
    Jan 2006
    Location
    Curitiba - Brazil
    Posts
    23
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: new highlighter

    Quote Originally Posted by elcuco
    This is FullMetalCoder 's code, which is borrowed from QSA.

    Why do I have the feeling like most codes we see on this thread are "way too similar"?
    Becouse this is the best way to implement a highlight. If you use QRegExp like syntaxhighlight exemple your code will be very slow. So its better to use a compiler aproach like in the lex analizers.

    By the way, I'm working on a powerfull C++ editor, its not an IDE and I think you guys will like, some features that it will have:

    * Multiline edit;
    * Persistent selection;
    * Split views;
    * Icon pannel (with an overview pannel to);
    * Line numbers;
    * Code collapse (folding);
    * Parentesis match;
    * Auto complete to open parentesis, quote, brackets, etc.;

    Perhaps could be used by FullMetalCoder's IDE

    As I'm without computer at home, the development is slow, becouse I can program only here at work after the expedient.
    --
    Thiago dos Santos Alves
    Computer Scientist

    thiago.salves@gmail.com
    -----------------------------------------------------
    "A mind that opens to a new idea never gets its original size again."
    - Albert Einstein

  15. #15
    Join Date
    Jan 2006
    Location
    travelling
    Posts
    1,116
    Thanks
    8
    Thanked 127 Times in 121 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: new highlighter

    Quote Originally Posted by Townk
    Becouse this is the best way to implement a highlight. If you use QRegExp like syntaxhighlight exemple your code will be very slow. So its better to use a compiler aproach like in the lex analizers.

    By the way, I'm working on a powerfull C++ editor, its not an IDE and I think you guys will like, some features that it will have:

    * Multiline edit;
    * Persistent selection;
    * Split views;
    * Icon pannel (with an overview pannel to);
    * Line numbers;
    * Code collapse (folding);
    * Parentesis match;
    * Auto complete to open parentesis, quote, brackets, etc.;

    Perhaps could be used by FullMetalCoder's IDE

    As I'm without computer at home, the development is slow, becouse I can program only here at work after the expedient.
    oh dear! don't be silly! sharing knowledge is the best way to learn and the philosophy of Open Source is anything but doing 2 similars projects without any connections!
    I don't mean you should join the project rather than starting your own! Actually if you feel better developping you own project alone it's your choice but, as you said, we'll like the features you want your text editor to provide. So the point is : "why not sharing our view about and implementation of them?"

    I hope I managed to convince you...
    Current Qt projects : QCodeEdit, RotiDeCode

  16. #16
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,018 Times in 4,794 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: [DevQt] New versions, feature requests and bug reports

    Two things:
    1. There are two bugs in the archive above which prevent the application from working:
    a) "class DevWorkSpace;" in devgui.h is missing
    b) a segfault on startup occurs, because you create a QMenu object with Editor parent, while Editor (ptr to some object) is still uninitialised. One has to move the statement which assigns an object to Editor before the setupMenu() call.
    2. Why is the minimum width of the main window more than the width of my display (which is 1024x768) ?

    Please test your code before posting it.
    Last edited by wysota; 17th February 2006 at 16:28.

  17. #17
    Join Date
    Feb 2006
    Location
    Österreich
    Posts
    35
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11

    Default Re: new highlighter

    Quote Originally Posted by Townk
    Becouse this is the best way to implement a highlight. If you use QRegExp like syntaxhighlight exemple your code will be very slow. So its better to use a compiler aproach like in the lex analizers.
    It depends. I also made a syntax highlighter using regexp strings for practice (I don't know regexp very well and needed an excuse to learn it) with a text editor I made in Qt3 when I first began to learn the library, and when typing code in manually or opening from a file there is no noticable difference in human time from the one I made using while loops and if-else statements. The only trouble is if you be evil and copy a large amount of code into the clipboard and then hold down the Ctrl+V keys for about ten seconds to paste it all over and over again a lot. Then the program freezes for about fifteen seconds before displaying anything :DDDD. Probably for formatting a large input filestream the difference isn't so bad (so it depends if you want easy-to-read code from using the regexp or two hundred lines of loops and if statements--look at devqt's code for highlighting, for example, it works but it's a mess--whereas my regexp highlighter practice was maybe twenty lines, and if there was something wrong with how it was reading it I could just edit the string holding the pattern instead of weaving through all the branches) but for real-time highlighting of keyboard input the lexical analyzation is definitely the way to go. You know, it's funny. Such an awful lot of work for what seems like such a trivial feature of the IDE. You practically have to write half a C++ compiler just to pretty print the code. I'm having similar issues with another project I am working on in my spare time. It is a frontend for editing qmake files. It is no problem when the project file is straightforward, but now I have two lexical analyzers to make. One is to reimplement my syntax highlighter for the scripting style used by qmake (one of the tabs lets you edit the raw file instead of using the interface), the other is to handle all of the nesting and scopes within the project file and display the hierarchies correctly in the frontend's widgets. The first is much much easier (for me, at least) than the second.
    Last edited by michel; 18th February 2006 at 14:03.
    My philosophy is: If you can use a free, open-source alternative: do it. And if you can't, pretend it's free and open-source and hope you don't get caught.

  18. #18
    Join Date
    Feb 2006
    Location
    Österreich
    Posts
    35
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11

    Default Re: [DevQt] New versions, feature requests and bug reports

    Two bugfixes to your latest version. The first is mentioned already by wysota (but I hadn't read his message so it took me 30 minutes to figure out with gdb why I was getting core dumps on startup before realizing you were trying to run setupMenu() on Editor before initializing it). The second fixes the problem that when you close a file that has been opened, the tab disappears but not the source code. When no files are open the Editor widget shouldn't display anything. Below are my modified lines.

    --devgui.cpp---line 51--DevGUI() constructor--
    Qt Code:
    1. Editor = new QTabWidget(this);
    2. Editor->setWindowState(Qt::WindowMaximized);
    3. Editor->setContextMenuPolicy(Qt::CustomContextMenu);
    4. setupMenu();
    5. setupFileActions();
    6. setupEditActions();
    7. //setupTextActions();
    8. setupCompiler();
    9. setupExplorer();
    To copy to clipboard, switch view to plain text mode 

    --devgui.cpp---line 602--DevGUI::close()--
    Qt Code:
    1. //Your old function which removes the tab, but not the actual page Editor->removeTab(pos);
    2. delete Editor->widget(pos);
    To copy to clipboard, switch view to plain text mode 

    I'll let you know if I see anything else.
    My philosophy is: If you can use a free, open-source alternative: do it. And if you can't, pretend it's free and open-source and hope you don't get caught.

  19. #19
    Join Date
    Jan 2006
    Location
    travelling
    Posts
    1,116
    Thanks
    8
    Thanked 127 Times in 121 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: [DevQt] New versions, feature requests and bug reports

    thanks for your interest! I'll try to fix them all!

    elcuco's kindness has no limits : he's gonna open a project on SF.net or Berlios because, for some reasons I can't do it on my own. That'll give us a better framework to speed up the developpement process.

    I've no code to post today but I'm working on the project handling, damn progress : scopes are now understood and functions skipped

    as soon as I'll get the project working I'll start compilation process stuff and post a version with as many fixes as possible.
    Current Qt projects : QCodeEdit, RotiDeCode

  20. #20
    Join Date
    Jan 2006
    Location
    Curitiba - Brazil
    Posts
    23
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: new highlighter

    Quote Originally Posted by michel
    It depends. I also made a syntax highlighter using regexp strings for practice (I don't know regexp very well and needed an excuse to learn it) with a text editor I made in Qt3 when I first began to learn the library, and when typing code in manually or opening from a file there is no noticable difference in human time from the one I made using while loops and if-else statements. The only trouble is if you be evil and copy a large amount of code into the clipboard and then hold down the Ctrl+V keys for about ten seconds to paste it all over and over again a lot. Then the program freezes for about fifteen seconds before displaying anything DDD. Probably for formatting a large input filestream the difference isn't so bad (so it depends if you want easy-to-read code from using the regexp or two hundred lines of loops and if statements--look at devqt's code for highlighting, for example, it works but it's a mess--whereas my regexp highlighter practice was maybe twenty lines, and if there was something wrong with how it was reading it I could just edit the string holding the pattern instead of weaving through all the branches) but for real-time highlighting of keyboard input the lexical analyzation is definitely the way to go. You know, it's funny. Such an awful lot of work for what seems like such a trivial feature of the IDE. You practically have to write half a C++ compiler just to pretty print the code. I'm having similar issues with another project I am working on in my spare time. It is a frontend for editing qmake files. It is no problem when the project file is straightforward, but now I have two lexical analyzers to make. One is to reimplement my syntax highlighter for the scripting style used by qmake (one of the tabs lets you edit the raw file instead of using the interface), the other is to handle all of the nesting and scopes within the project file and display the hierarchies correctly in the frontend's widgets. The first is much much easier (for me, at least) than the second.
    Ok, as I'm creating a new editor for C++ codes too, I do a lot of tests between RegExp and Lexical aproachs, let me share here what I discovery:

    With RegExp proach what the QSyntaxHinghlighter do is to take every RegExp and see if the actual line matches to it, if match, coloring if not, pass to the next RegExp and check the entire text again, no mather if it founds any parts before.

    As you can see, a lexical aproach avoid unnecessary check to the actual text and is that the reason that your code freezes a little when you paste a lot of text, and has more, if you had about 10Kloc to highlight (what is not unusual) if your editor has to repaind the entire screen, the highlight with RegExp will make your editor unusable.
    Well, at least to me the beneficies of lexical aproach justify the hard work to implement it!
    --
    Thiago dos Santos Alves
    Computer Scientist

    thiago.salves@gmail.com
    -----------------------------------------------------
    "A mind that opens to a new idea never gets its original size again."
    - Albert Einstein

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Qt is a trademark of The Qt Company.