• Dear Cerberus X User!

    As we prepare to transition the forum ownership from Mike to Phil (TripleHead GmbH), we need your explicit consent to transfer your user data in accordance with our amended Terms and Rules in order to be compliant with data protection laws.

    Important: If you accept the amended Terms and Rules, you agree to the transfer of your user data to the future forum owner!

    Please read the new Terms and Rules below, check the box to agree, and click "Accept" to continue enjoying your Cerberus X Forum experience. The deadline for consent is April 5, 2024.

    Do not accept the amended Terms and Rules if you do not wish your personal data to be transferred to the future forum owner!

    Accepting ensures:

    - Continued access to your account with a short break for the actual transfer.

    - Retention of your data under the same terms.

    Without consent:

    - You don't have further access to your forum user account.

    - Your account and personal data will be deleted after April 5, 2024.

    - Public posts remain, but usernames indicating real identity will be anonymized. If you disagree with a fictitious name you have the option to contact us so we can find a name that is acceptable to you.

    We hope to keep you in our community and see you on the forum soon!

    All the best

    Your Cerberus X Team

Suggestion Ted IDE

Paul59

Active member
CX Code Contributor
Joined
Dec 13, 2018
Messages
384
The standard browser/spreadsheet key combination Crtl + PgUp / PgDn to switch between open tabs would be very useful for switching between help and code or comparing two programs.


Fullscreen (F11) has odd behaviour when pressing for a second time. Window maximized -> F11 -> Fullscreen -> F11 -> Window not maximized (maybe some default size??)

Also, is there a problem with the help dropdown box in the toolbar? Selecting items often does nothing.

EDIT: Why are the menu titles in capitals? Looks weird!
 
Also, is there a problem with the help dropdown box in the toolbar? Selecting items often does nothing.
This might be caused by one of decls.txt and index.txt - I'll try to figure out what's going on there, as I'm redoing the docs and Makedocs anyways.

Why are the menu titles in capitals? Looks weird!
At first I thought "Well, every Windows program has capitalized menu entries", then I remembered you mentioned working with Linux somewhere, shorty followed by "maybe Paul is talking of the menu titles in the docs" - if that's the case: My opinion is that they look better that way. And they're not "long texts" but instead "quick look-at tokens", so looks go first:

CAPITALZRULEZ.png
 
Great! Can you share what the cause was?
 
This might be caused by one of decls.txt and index.txt - I'll try to figure out what's going on there, as I'm redoing the docs and Makedocs anyways.

At first I thought "Well, every Windows program has capitalized menu entries", then I remembered you mentioned working with Linux somewhere, shorty followed by "maybe Paul is talking of the menu titles in the docs" - if that's the case: My opinion is that they look better that way. And they're not "long texts" but instead "quick look-at tokens", so looks go first:

No, I'm talking about the system window menu:

cerberus-menus.png


Not sure about Mac but Windows and Linux use initial caps only -> File Edit View etc

Strangely, the menu entries themselves are in the 'proper' case, eg New... New from template Open... etc

A minor point but it would make the IDE appear a bit more normal :)

I agree the help section titles in your screen-shot look better in all caps :D

Ctrl+PgUp/PgDn would be a welcome usability change.

Another suggestion - maybe should be in its own thread...

A way to set the file having the programs Main() function would be great rather than having to continuously switch between tabs if you've been working in a module and want to do a quick rebuild to test. Maybe a dropdown populated with *.cxs files in the 'Build Config...' window which allows you to select one as the projects main file? In most IDEs I've used this would be set in project or build options. What does Build->Open Project actually do? I haven't found out yet, and why isn't it on the File menu anyway?!
 
You should be able to lock the build file (the one with the Main() ). IIRC it's build > lock main build file
 
Doh! So that's what Lock Build File is for - sorry.
 
What does Build->Open Project actually do?
It doesn't build, but populate the Projects tab in Ted with the selected folder.
Not sure about Mac but Windows and Linux use initial caps only -> File Edit View etc
I have a feeling that it is a feature of QT for Linux. In Windows, it isn't all caps. I really need to setup a Linux system here :-/
 
It doesn't build, but populate the Projects tab in Ted with the selected folder.

I have a feeling that it is a feature of QT for Linux. In Windows, it isn't all caps. I really need to setup a Linux system here :-/

I don't think so, unless it's an old version of QT. i've got a few of QT4 & 5 apps (LMMS, Converseen, Openshot etc) on this box and they all have 'normal' menus.
 
Great! Can you share what the cause was?
Well, when I implemented the "F1 pressed for the first time, show it in the statusbar" feature, it broke that part. Now the dropdown box works like before.
 
Well as the thread is about Ted, I may as well share the the few tweaks that I implemented with the fixes for some of the issues.
When I get a chance I will be getting back to the changes to Cerberus and find that weird bug not trapping exceptions.

new-ted_2018-12-21_win64.zip
new-ted_2018-12-21_linux64.tar.gz
new-ted_2018-12-21_macos.tgz
ted-src.zip

These are customised versions of the Cerberus IDE TED for Windows, Linux and Mac OS X.
It also includes the source code.

It's updated to use Qt 5.9.2 and to be self contained, so there should be no need to install any additional packages on Linux.

The main changes are:
- Updates from Ted 2018-21-18
- TED only runs one instance, so all files should now open within the running instance and not start a new instance of TED.
- Fixes and Work around for file paths on Linux.
- A few known bug fixes and a fix for themes on OS X.
- Double clicking on audio, image and document files will open either a built in viewer or the default system application.

Windows Install:
Rename the CERBERUS bin directory to bin.bak.
Extract the new-ted_201x-xx-xx_win64.zip file to the Cerberus directory.
Run the vcredist_x64.exe file to install the VC++ 2015 run-times.
Copy over from bin.bak the files and directories:
transcc_winnt.exe
makedoc_winnt.exe
cserver_winnt.exe
docstyle.txt
config.winnt.txt
data
If any new templates or themes have been added, then copy them over.

Linux Install:
Rename the CERBERUS bin directory to bin.bak.
Extract the new-ted_201x-xx-xx_linux64tar.gz file to the Cerberus directory.
Copy over from bin.bak the files and directories:
transcc_linux
makedoc_linux
cserver_linux
docstyle.txt
config.linux.txt
data
If any new templates or themes have been added, then copy them over.

Mac OS Install:
Rename the CERBERUS bin directory to bin.bak.
Extract the new-ted_201x-xx-xx_macos.tgz file to the Cerberus directory.
Copy over from bin.bak the files and directories:
transcc_macos
makedoc_macos
cserver_macos.app
docstyle.txt
config.macos.txt
data
If any new templates or themes have been added, then copy them over.

Source Code Install:
Rename the CERBERUS src/ted directory to src/ted.bak.
Extract the ted-src.zip file to the Cerberus src directory.

NOTE: In the ted.pro file there is commented out code for Windows and Mac OS that will run the Qt dependency tool, but you still have to delete
unneeded files and directories.

To build on Windows:
Install Visual Studio 2015/2017
Download and install the Qt SDK and use the Qt Installer/Maintainance tool to install the correct Visual Studio libraries for Qt 5.9.2.
Run QtCreator and make sure that the Qt 5.9.2 is set as a Qt Kit. Search google on how to do this.
Open the ted.pro file in the ted source directory.
Select the Release configuration (bottom left) and click the build button (hammer bottom left)
Delete audio, bearer, imageformats, mediaservice, playlistformats, position, printsupport,
sensors, sensorgestures, sqldrivers, opengl32sw.dll from the cerberus bin, bin\platform, bin\resources, bin\translations directory.

Optional:
Use the winqtdeploy tool found in the Qt\5.9.2\msvc_201x\bin to copy over the Qt dependencies and delete unneeded files and directories:
windeployqt release --no-opengl-sw --no-svg --no-angle --no-system-d3d-compiler --no-quick-import --core path_to_cerberus\bin\Ted.exe



To build on Linux:
Install the compiler tool chain for your distribution e.g. g++, make. If you get link errors, then install their development packages.
Download and install the Qt SDK and use the Qt Installer/Maintainance tool to install the correct gcc libraries for Qt 5.9.2.
Open a terminal and type (replace qt_path with the path for the Qt binary install e.g. /home/user_name/Qt/5.9.2/gcc_64):
export PATH="qt_path:qt_path/bin:$PATH"
cd path_to_cerberus/src
mkdir build-ted-Desktop && cd build-ted-Desktop
qmake CONFIG+=release ../ted/ted.pro
make
make install

To build on OS X:
Install xcode and the xcode build tools.
Download and install the Qt SDK and use the Qt Installer/Maintainance tool to install the correct gcc libraries for Qt 5.9.2.
Open a terminal and type (replace qt_path with the path for the Qt binary install e.g. /Users/user_name/Qt/5.9.2/clang_64 and bundle_id e.g. com.krautapps):
export PATH="qt_path:qt_path/bin:$PATH"
cd path_to_cerberus/src
mkdir build-ted-Desktop && cd build-ted-Desktop
qmake CONFIG+=release ../ted/ted.pro QMAKE_TARGET_BUNDLE_PREFIX=bunble_id
make

Optional:
macdeployqt ../../bin/Ted.app -verbose=2 -always-overwrite

Open finder and right-click the path_to_cerberus/bin/Ted.app bundle and select show contents. Navigate to Contents/PlugIns and
delete: audio, bearer, imageformats, mediaservice, printsupport, sqldrivers
 
Last edited:
Well as the thread is about Ted, I may as well share the the few tweaks that I implemented with the fixes for some of the issues.

Pardon my ignorance but are these changes already part of the development fork on Github, i.e. will they be in the next stable? If so I'm definitely going to update my install (thanks for the detailed instructions to do this)!
 
Pardon my ignorance but are these changes already part of the development fork on Github, i.e. will they be in the next stable? If so I'm definitely going to update my install (thanks for the detailed instructions to do this)!
No they aren't.
 
Pardon my ignorance but are these changes already part of the development fork on Github
These changes are not part of the official repository yet. They will be part of my work in progress that deals with a few issues with desktops. As ted is a separate application as such, all that's needed is just to replace the source code and rebuild ted.

The version I've posted has these main features not present in the current version.
  • Updated to use Qt5.6+ (only tested with Qt 5.9.2 for Visual Studio compiler reasons). Using Qt5.5 on later version of Linux is now becoming an issue.
  • Running as a single instance application.
  • Fixed the issue of where clicking a non cerberus source file tries to open that file in Ted
 
These changes are not part of the official repository yet. They will be part of my work in progress that deals with a few issues with desktops. As ted is a separate application as such, all that's needed is just to replace the source code and rebuild ted.

Great, thanks for that!
 
@dawlane This is great, gives Ted a much more modern look and feel.

Just a couple of things I noticed on Linux:
  • I didn't have a 'data' file or folder in the original /bin - doesn't seem to have caused a problem
  • I copied over the /themes folder but my slightly customised colours seem to have been reset - doesn't matter, a few seconds and fixed

A couple of usability questions which apply to the original Ted and your version Is there any (easy!) way to slightly increase the depth of the toolbars and increase the width of help tab caption area? I sometimes end up closing the latter instead of switching to it! Woluldn't be such an issue if my other suggestion of Ctrl + PgUp/PgDn for switching tabs was implemented :D
 

Attachments

  • Screenshot at 2018-12-23 10-22-16.png
    Screenshot at 2018-12-23 10-22-16.png
    5.5 KB · Views: 240
Another idea:

In the Code Browser, class fields are denoted by a 'p', presumably to denote what would be 'properties' in other languages (?) but this conflicts with CX's notion of properties. How about a lower case 'f' which, if it retained its current colour, wouldn't conflict with 'F' for Function?
 
Another tiny suggestion: Change the button caption in the File->Options dialog to read 'OK' instead of 'OKAY' (yuk!)
 
Back
Top Bottom