Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. QtCreator - Editor and Code Completion in Custom Project
Forum Updated to NodeBB v4.3 + New Features

QtCreator - Editor and Code Completion in Custom Project

Scheduled Pinned Locked Moved Unsolved General and Desktop
16 Posts 3 Posters 2.8k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • W webzoid
    22 Jan 2018, 08:29

    @vivaladav Thanks for your input.

    The end application should have no problem complying with the GPLv3 license.

    V Offline
    V Offline
    vivaladav
    wrote on 22 Jan 2018, 10:55 last edited by
    #4

    @webzoid no problem.

    In that case you should be fine.

    Something you probably need to know is that pretty much everything in Qt Creator is a plugin. Which means you might be able to reuse some code, but you will need to handle Qt Creator plugins or to adapt/interface the existing code somehow.

    Davide Coppola
    blog | Linkedin | Twitter

    1 Reply Last reply
    0
    • W Offline
      W Offline
      webzoid
      wrote on 22 Jan 2018, 11:45 last edited by
      #5

      @vivaladav Understood - I appreciate that what I'm looking to do won't be so straightforward. Unless I develop a QtCreator plugin for my extensions...

      1 Reply Last reply
      0
      • M Offline
        M Offline
        mrjj
        Lifetime Qt Champion
        wrote on 22 Jan 2018, 16:57 last edited by
        #6

        @webzoid said in QtCreator - Editor and Code Completion in Custom Project:

        extensions

        Hi
        What kind of extensions is that ?
        other source files or ?

        1 Reply Last reply
        0
        • W Offline
          W Offline
          webzoid
          wrote on 22 Jan 2018, 17:08 last edited by
          #7

          @mrjj Well, I have managed to set up QtCreator to compile for my Cortex-M4. What I had wanted was to take the code editor, intellisense and snippets (among many other features) and integrate them into my own custom IDE.

          The fundamental change I want to introduce (either as a plugin, if possible, or in my own IDE) is a designer for the TFT display which comes with the Cortex-M4 device mentioned above. I have my own embedded C++ framework for both low-level and high-level functionality - the only thing I don't have is a "designer" as such for the graphical display.

          What I almost envisage is similar to the Qt Widgets designer but in my case, with a fixed widget size (I actually have my own embedded widget set) and links directly to my own API.

          A small undertaking, I know :)

          M 1 Reply Last reply 22 Jan 2018, 17:13
          0
          • W webzoid
            22 Jan 2018, 17:08

            @mrjj Well, I have managed to set up QtCreator to compile for my Cortex-M4. What I had wanted was to take the code editor, intellisense and snippets (among many other features) and integrate them into my own custom IDE.

            The fundamental change I want to introduce (either as a plugin, if possible, or in my own IDE) is a designer for the TFT display which comes with the Cortex-M4 device mentioned above. I have my own embedded C++ framework for both low-level and high-level functionality - the only thing I don't have is a "designer" as such for the graphical display.

            What I almost envisage is similar to the Qt Widgets designer but in my case, with a fixed widget size (I actually have my own embedded widget set) and links directly to my own API.

            A small undertaking, I know :)

            M Offline
            M Offline
            mrjj
            Lifetime Qt Champion
            wrote on 22 Jan 2018, 17:13 last edited by
            #8

            @webzoid
            Hi
            Ok that sounds interesting. Is that embedded widget set still based on QWidgets and can render on a normal desktop ?
            Or will the designer also on the Cortex and be sort of a mini Designer arm version?
            If you widgets are QWidget based, its should be easy to integrated as Designer plugins and have those
            available to drag and drop from right side.

            1 Reply Last reply
            0
            • W Offline
              W Offline
              webzoid
              wrote on 22 Jan 2018, 17:36 last edited by
              #9

              @mrjj Unfortunately it isn't based on the QWidgets due to the memory constraints of the microcontroller. There are similarities but because of the size restriction, the widgets are very limited in functionality.

              The designer will be a "mini" ARM version - basically what you design and see in QtCreator (or the custom IDE) is what you will see on the Cortex-M4.

              M 1 Reply Last reply 22 Jan 2018, 17:51
              0
              • W webzoid
                22 Jan 2018, 17:36

                @mrjj Unfortunately it isn't based on the QWidgets due to the memory constraints of the microcontroller. There are similarities but because of the size restriction, the widgets are very limited in functionality.

                The designer will be a "mini" ARM version - basically what you design and see in QtCreator (or the custom IDE) is what you will see on the Cortex-M4.

                M Offline
                M Offline
                mrjj
                Lifetime Qt Champion
                wrote on 22 Jan 2018, 17:51 last edited by
                #10

                @webzoid
                Ok so its very much like
                https://ugfx.io/
                (the author Joel Bodenmann is member here)
                I think he looked at using Creator but ended up writing his own IDE.

                I think changing Designer to use non QWidgets would be huge task but maybe you can wrap them in widgets for Designing and later display native.

                So if designer is mini arm version, wont it be an issue that whole of Creator is widgets ? ( like in too heavy ?)

                1 Reply Last reply
                0
                • W Offline
                  W Offline
                  webzoid
                  wrote on 22 Jan 2018, 19:38 last edited by webzoid
                  #11

                  @mrjj Yeah, pretty similar to that.

                  I think in the end, I will probably have to write my own IDE but use various features from QtCreator where I can - mainly because I really like how the code editor, etc works. I have considered wrapping the GUI stuff in QWidgets and write my own interpreter which compiles to my native API.

                  What would be the ultimate solution is to have a single code base which can run as a Qt application AND also cross-compile as an embedded solution. This would be great but inherently complex. Also, my API (both high and low level) is written in C++ which may be advantageous to the end solution.

                  Ultimately, the road ahead is long and extremely winding.

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on 23 Jan 2018, 10:27 last edited by
                    #12

                    Hi
                    Since its possible to add a completely new language to Creator
                    https://github.com/Groterik/qtcreator-dlangeditor

                    It should be possible to change it to like your API too and since its c++ based it should
                    not be extremely challenging.
                    However, the whole Creator base code + plugins is pretty large so it will take some time to become friends.
                    I can high recommend this online browser (of Qt source code)
                    https://code.woboq.org/qt5/qt-creator/

                    W 1 Reply Last reply 23 Jan 2018, 10:52
                    0
                    • M mrjj
                      23 Jan 2018, 10:27

                      Hi
                      Since its possible to add a completely new language to Creator
                      https://github.com/Groterik/qtcreator-dlangeditor

                      It should be possible to change it to like your API too and since its c++ based it should
                      not be extremely challenging.
                      However, the whole Creator base code + plugins is pretty large so it will take some time to become friends.
                      I can high recommend this online browser (of Qt source code)
                      https://code.woboq.org/qt5/qt-creator/

                      W Offline
                      W Offline
                      webzoid
                      wrote on 23 Jan 2018, 10:52 last edited by
                      #13

                      @mrjj Thanks for the links and info. I'm a little torn as to which direction to take this project. I can see the benefits of adding extra "plugins" to QtCreator in order to achieve what I'm looking for however this may well be far more work than starting from the beginning.

                      I've managed to find the relevant source code for the cppeditor plugin and the designer so I can see how these plugins work behind the scenes and implement something similar in my own application.

                      I think the element I'm going to struggle with the most is the visual designer. Having looked for examples of similar kinds of applications/widgets, I've not yet managed to find anything which I could use as a base.

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        mrjj
                        Lifetime Qt Champion
                        wrote on 23 Jan 2018, 10:56 last edited by
                        #14

                        Hi
                        Im also not sure if reusing Creator is more code than making the mini version your self.
                        It really depends on how much work it is to make it like your "widgets"
                        Also maintenance, if they find bug in some code you have reused then patching is not
                        super straight forward unless old code is intact.

                        For a Designer, i guess any editor with WYSIWYG could be used.
                        I liked this one
                        https://github.com/paceholder/nodeeditor

                        W 1 Reply Last reply 23 Jan 2018, 11:04
                        1
                        • M mrjj
                          23 Jan 2018, 10:56

                          Hi
                          Im also not sure if reusing Creator is more code than making the mini version your self.
                          It really depends on how much work it is to make it like your "widgets"
                          Also maintenance, if they find bug in some code you have reused then patching is not
                          super straight forward unless old code is intact.

                          For a Designer, i guess any editor with WYSIWYG could be used.
                          I liked this one
                          https://github.com/paceholder/nodeeditor

                          W Offline
                          W Offline
                          webzoid
                          wrote on 23 Jan 2018, 11:04 last edited by
                          #15

                          @mrjj I think a mini-version is probably the best idea in both the short and long term. I just really like a number of features from QtCreator which I'd love to implement which is why I had considered using QtCreator as a base.

                          I think nodeeditor is a good place to start. There was an awesome C# designer which I'd used many moons ago by a company called DevExpress - unfortunately, they do not offer this as a QtWidget.

                          M 1 Reply Last reply 23 Jan 2018, 11:10
                          0
                          • W webzoid
                            23 Jan 2018, 11:04

                            @mrjj I think a mini-version is probably the best idea in both the short and long term. I just really like a number of features from QtCreator which I'd love to implement which is why I had considered using QtCreator as a base.

                            I think nodeeditor is a good place to start. There was an awesome C# designer which I'd used many moons ago by a company called DevExpress - unfortunately, they do not offer this as a QtWidget.

                            M Offline
                            M Offline
                            mrjj
                            Lifetime Qt Champion
                            wrote on 23 Jan 2018, 11:10 last edited by
                            #16

                            @webzoid
                            For syntax and those features, there are alot of of Qt editors you might be able to reuse from.
                            Like http://monkeystudio.org/node/1
                            (its Qt4 age so might be issue in Qt5.10)
                            Creator gets from the Kate (KDE) as far as i know so much of it you can get with no that much fuss.

                            1 Reply Last reply
                            0

                            13/16

                            23 Jan 2018, 10:52

                            • Login

                            • Login or register to search.
                            13 out of 16
                            • First post
                              13/16
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • Users
                            • Groups
                            • Search
                            • Get Qt Extensions
                            • Unsolved