Team DevLog MikeHart - Update 2021/04/18

Jimmy

Active member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
578
I hope that QT is not needed for much longer because It eats resources and I only learned to use because of Cerberus-X. All it does is compilling a TED over and over again. What about a simple editor for simple people like me? I need cut copy paste, colours syntax, load/Save project, and a debug/play button.And a great view for documentation where you can overview and jump around easily.

Hades sounds like a great name and idea but what about an add-on for Visual Studio Code?
It takes lot of time to create an IDE. But do people actually use all those fancy IDE features that is put into all editors nowadays? Because again, they must take enormous efforts to create!

I don't know many coders and I don't know their habits but I for one never use predictors or whatever they are called, and nothing else either.
I happily use a simple editor with a good manual on the other hand that is worth a alot.

I can write the complete feature list here that I will use in my life time :
NEW LOAD SAVE, CUT COPY PASTE, SOME NICE STYLE, SOME NICE DOCUMENTATION. That's plenty IMHO.

Maybe Project management ontop of that. So one can handle LOADS OF FILES easily. Because, it is 2020, and we need it.
 

Arantor

New member
Joined
May 27, 2020
Messages
19
I started implementing syntax highlighting for Cerberus for Sublime Text 3 but I have a long way to go to get all the grammar in properly :/
 

MikeHart

Administrator
Joined
Jun 19, 2017
Messages
2,846
As @Phil7 posted his progress, I guess I should do too. I am always heavily busy with daily life and my day job. That leaves less time for leisure. But I was able to do some stuff CX related.

I am trying to port some ImGui stuff to CX for Desktop and maybe IOS and so far it works good.

1615310068991.png


The code to produce this ui looks like this:

Code:
        startFrame()

        ig_BeginMainMenuBar()
            If ig_BeginMenu("File")
                If ig_MenuItem("Exit","CTRL+F") Then EndApp()
                ig_EndMenu()
            Endif
            If ig_BeginMenu("Edit")
                ig_MenuItem("Undo")
                ig_MenuItem("-")
                ig_MenuItem("Copy")
                ig_MenuItem("-")
                If ig_BeginMenu("Submenu")
                    ig_MenuItem("Entry 1#")
                    ig_MenuItem("Entry #2")
                    ig_EndMenu()
                Endif
                ig_EndMenu()
            Endif
            If ig_BeginMenu("View")
                If ig_MenuItem("show Window") Then showwindow = True
                ig_EndMenu()
            Endif
        ig_EndMainMenuBar()
        If showwindow
            showwindow = ig_Begin("Hello, world! This is CX 4#", True)
        
            ig_Text("Hover over me")
            If ig_IsItemHovered() Then ig_SetTooltip("I am a tooltip")
            If ig_Button("ba="+ba,[100.0,20.0]) Then ba+=1
            ig_Text("style= "+ig_GetStyleColorName(0))
              
            myInt  = ig_SliderInt("SliderInt ",  myInt , -20, 20)
            myFloat2 = ig_SliderFloat2("SliderFloat2",myFloat2, 0.0, 10.0)
            ig_PlotHistogram("PlotHistogram",[0.6, 10.1, 1.0, 5.5, 3.92, 0.1, 7.2 ], 7,2,"xxx",0.0,11.0,[0.0,80.0])
 
             If ig_TreeNode("Treenode #1")
                ig_Text("Entry #1")
                 if ig_TreeNode("Treenode #2")
                    ig_Text("Entry #2")
                       ig_TreePop()
                 Endif
                 ig_TreePop()
            Endif
            If ig_CollapsingHeader("Collapsing header")
                    ig_Text("Entry #3")
                    ig_TextColored([1.0,0.0,0.0,1.0], "Entry #4")
                    ig_TextColored([1.0,0.0,1.0,1.0], "Entry #5")
            Endif
            ig_BulletText("Bullet point 1");
            ig_TextDisabled("ig_TextDisabled");
            ig_LabelText("ig_LabelText","BeispielText");
            ig_TextWrapped("This text should automatically wrap on the edge of the window. The current implementation " +
                "for text wrapping follows simple rules suitable for English and possibly other languages.")
            ig_ProgressBar(0.5,[200.0,20.0],"Progressbar")
            inputTxt = ig_InputTextWithHint("password (w/ hint)", "<password>",inputTxt, ImGuiInputTextFlags_Password)
            inputMultiline = ig_InputTextMultiline("Mulitlinetext", inputMultiline)
            ig_End()
        Endif
          renderFrame()

ImGui is an intermediate GUI, means you do everything inside the OnRender Method of mojo or mojo2.
Because of the limitations of the CX language, you can't port something like this 100% and have to do some workarounds.
Also for some odd reason, MakeDocs has a problem with to many enumerate definitions. Have to look into this.
There is still quite some work to do, but I think it will be a nice addition to CX.
 

Holzchopf

Moderator
3rd Party Module Dev
Tutorial Author
Joined
Jul 31, 2017
Messages
484
Also for some odd reason, MakeDocs has a problem with to many enumerate definitions. Have to look into this.

oh no :oops: how exactly? Is it reproducible with just the enum definitions on their own? Could you share them, so I can investigate?
 

MikeHart

Administrator
Joined
Jun 19, 2017
Messages
2,846
Ok @Holzchopf , here they are.

EDIT: Doooh, found my mistake. MakeDocs just works fine. It was a missing space between the # and Enumerate
 

Attachments

  • imgui.zip
    42.2 KB · Views: 9
Last edited:

MikeHart

Administrator
Joined
Jun 19, 2017
Messages
2,846
Just finished updating Github with the newest stuff that will make it into the next release.
But there is still much more work to do:

Code:
FIX: [brl.requesters] Fixed compiling error on Linux.    (Author: MikeHart)
FIX: [brl.filesystem] Fixed CreateDir not being able to use cerberus://internal file paths.    (Author: MikeHart)
FIX: [docs] Corrected Latest new stuff section on the homepage.   (Author: MikeHart)
FIX: [docs/mojo.app] Typo correction.    (Author: Phil7)
FIX: [mojo2] Fixed Canvas.ReadPixels only reading the last framebuffer it was rendered to.    (Author: MikeHart)
FIX: [mojo/mojo2] Fixed Font.TextHeight returning the values without Glyph.yoffset.    (Author: MikeHart)
MOD: [mojo/mojo2] Changed DrawText to use TextHeight("") when being y-aligned.    (Author: MikeHart)
MOD: [agk/buildtarget] Added fixes for TGCs Android template.    (Author: MikeHart)
NEW: [mojo.input] Added KEY_ALT to the usable key codes.   (Author: MikeHart)
NEW: [TRANSCC] Added #GLFW_GCC_SRC_OPTS to compile more source files.   (Author: MikeHart)
NEW: [TRANSCC] Added #GLFW_GCC_VPATH_OPTS to add more paths to source files.   (Author: MikeHart)
NEW: [TRANSCC/Android] Added bundleRelease to create app bundle.   (Author: MikeHart)
NEW: [mojo/Android] Added new soundpool constructor to replace the depreciated one.   (Author: MikeHart)
NEW: [html5] Added #HTML5_CANVAS_ALPHA to enable the canvas' background alpha channel   (Author: Holzchopf)
 

MikeHart

Administrator
Joined
Jun 19, 2017
Messages
2,846
Nothing much, but on its way to be a valuable tool... atm I am working on the internals before I slap on an UI.

1618759849800.png


This is the current change log for the next version, which I hope will be out in May to keep the 6 month schedule for official releases.

Code:
***** v2021-04-04 *****

FIX: [brl.requesters] Fixed compiling error on Linux.    (Author: MikeHart)
FIX: [brl.filesystem] Fixed CreateDir not being able to use cerberus://internal file paths.    (Author: MikeHart)
FIX: [docs] Corrected Latest new stuff section on the homepage.   (Author: MikeHart)
FIX: [docs/mojo.app] Typo correction.    (Author: Phil7)
FIX: [mojo2] Fixed Canvas.ReadPixels only reading the last framebuffer it was rendered to.    (Author: MikeHart)
FIX: [mojo/mojo2] Fixed Font.TextHeight returning the values without Glyph.yoffset.    (Author: MikeHart)
FIX: [mojo] Fixed mojo.colornames throwing a "blocks nested to deeply" error on MSVC.    (Author: MikeHart)
MOD: [mojo/mojo2] Changed DrawText to use TextHeight("") when being y-aligned.    (Author: MikeHart)
MOD: [GLFW/MSVC] Upgraded the solution to use MSVC 2019 and SDK 10.x.    (Author: MikeHart)
MOD: [agk/buildtarget] Added fixes for TGCs Android template.    (Author: MikeHart)
MOD: [CURL] Only copy Windows DLLs to the exe, when the brl.httprequest module is imported.    (Author: MikeHart)
MOD: [CURL] Updated to version 7.75.    (Author: MikeHart)
NEW: [mojo.input] Added KEY_ALT to the usable key codes.   (Author: MikeHart)
NEW: [TRANSCC] Added #GLFW_GCC_SRC_OPTS to compile more source files.   (Author: MikeHart)
NEW: [TRANSCC] Added #GLFW_GCC_VPATH_OPTS to add more paths to source files.   (Author: MikeHart)
NEW: [TRANSCC/Android] Added bundleRelease to create Android app bundle.   (Author: MikeHart)
NEW: [TRANSCC/GLFW] Copy dlls into the build folder (Takes care of the OpenAl dlls).   (Author: MikeHart)
NEW: [mojo/Android] Added new soundpool constructor to replace the depreciated one.   (Author: MikeHart)
NEW: [HTML5] Added #HTML5_CANVAS_ALPHA to enable the canvas' background alpha channel.   (Author: Holzchopf)
NEW: [GLFW/MSVC] Added the ability to create 32 and 64bit apps via #GLFW_GCC_MSIZE_WINNT and MSVC. Will create a new app config setting to cover GCC and MSVC later on.   (Author: MikeHart)
NEW: [brl.ini] Added a new Ini handler module, based on Martin Leidel's inital work.   (Martin, MikeHart)
NEW: [imgui] Added the module imgui module that wraps an intermediate GUI.    (Author: MikeHart)
 
Top Bottom