Page 1 of 3 123 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
    travelling
    Posts
    1,116
    Thanks
    8
    Thanked 127 Times in 121 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Cool [DevQt] New versions, feature requests and bug reports

    Hi boys! Here is the new thread dedicaced to the developpement of a new IDe, written with Qt and providing a build-in support for it!

    All suggestions, code snippets, bug reports (and so on...) will be welcomed!

    Have a look at the last stable version I crafted. It features :
    - working GUI
    - management of .pro files (only variables are handled not conditionals and functions)
    - text editing widget with line numbers
    - current line highlighting and basis of breakpoints and errors
    - syntax highlighting (fast!!!! )
    - find & replace dialogs
    Attached Files Attached Files
    Current Qt projects : QCodeEdit, RotiDeCode

  2. #2
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 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.

  3. #3
    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

  4. #4
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 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).

  5. #5
    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.

  6. #6
    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.

  7. #7
    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!

  8. #8
    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

  9. #9
    Join Date
    Feb 2006
    Location
    Kirovohrad, Ukraine
    Posts
    72
    Thanks
    1
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    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!

  10. #10
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 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.

  11. #11
    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

  12. #12
    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

  13. #13
    Join Date
    Jan 2006
    Posts
    368
    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"?

  14. #14
    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

  15. #15
    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

  16. #16
    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

  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: Bumblebees on the road again!

    Quote Originally Posted by jamadagni
    1. Why don't you declare it as MyPushButton *b = new MyPushButton(); ?
    QPushbutton *b = new MyPushButton(); creates a new QPushbutton called b and assigns it a pointer to memory containing an instance of MyPushButton(). But now it is also possible later to change b to point to an instance of MyOtherPushButton or any other subclass of QPushButton.

    If you were to try

    Qt Code:
    1. MyPushButton *b = new MyPushButton();
    To copy to clipboard, switch view to plain text mode 

    and then later

    Qt Code:
    1. b = new MyOtherPushButton();
    To copy to clipboard, switch view to plain text mode 

    you would get an "invalid conversion from type x to type y" error. The way you are wanting to write it is fine for most things. But to say the IDE must autocomplete this type of statement would be for it to make unnecessary guesses and handholding for the programmer.
    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
    Alingsås, Sweden
    Posts
    437
    Thanks
    3
    Thanked 39 Times in 39 Posts
    Qt products
    Qt3 Qt4
    Platforms
    Unix/X11 Windows

    Default Re: Bumblebees on the road again!

    Hi,

    I just want to starty by saying - congratulations on a great initiative. A Qt IDE is needed!

    A few points:

    - I'm not sure about the legal implications, but I think that a copyright needs more than a nickname.
    - I get lots of Object::connect: No such slot DevEdit::highlight(QTextCursor) when running the application.
    - Are you preparing for being able to integrate Assistant, Designer and Linguist?
    - Is there a site or such for the application?

  20. #20
    Join Date
    Feb 2006
    Location
    Kirovohrad, Ukraine
    Posts
    72
    Thanks
    1
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Does anybody want to join the aid creating DevQT?

    As far as I can see, the idea of this project make much sense to forum people. There were plenty of suggestions, ideas, bug reports, etc, etc...
    Quote Originally Posted by fullmetalcoder
    All suggestions, code snippets, bug reports (and so on...) will be welcomed!
    2fullmetalcoder: May I suggest people to join the project? You'll become the project leader
    As I already mentioned, I would be glad to join you and will do my best improving DevQT. If everything will be ok, and we won't leave the project, we could ask wysota to create a special forum for DevQT.

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
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.