MaxIDE X
BlitzMax Forums/BlitzMax Programming/MaxIDE X
| ||
Well, I don't know where to post this little update to the standard MaxIDE, so I decided to post here! This 'fork' of standard MaxIDE features: - toolbar with Debug ON/OFF - search engine for BlitzMax commands - CONSTs and FIELDs highlights - advanced code tree (from MaxIDE Community Edition) - auto-close block (if you type FUNCTION, the IDE will add END FUNCTION) - cache info for source files to speed up textarea format of consts and fields (this option can be disable in the Options panel) - check for updates online (see help menu) ![]() ![]() ![]() ![]() Some videos: http://www.youtube.com/watch?v=BrBNoCdX_3w http://www.youtube.com/watch?v=h48cLsCVH4s http://www.youtube.com/watch?v=pvHiJ5czqzs Only tested on Windows XP at the moment. Links: Source code here MaxIDE X (Windows) MaxIDE X (Linux) MaxIDE X (Linux-Ubuntu 7) Latest Revision: 12f - 08 jan 2011 Last edited 2011 |
| ||
well, on MacOS toolbars on panels have some problems, so I managed a different solution (for the moment)![]() Better than nothing... |
| ||
Cool work! If this feature proves popular (i'm sure it will) I would be more than happy (if you agreeable) to merging your changes into official version. The forward arrow toolbar icon seems to crash a lot with this version? |
| ||
If this feature proves popular (i'm sure it will) I would be more than happy (if you agreeable) to merging your changes into official version. If adding it to the official version, please make the 'help search' an optional setting in the IDE options -- While it definitely can be useful, it also adds clutter to the menu bar... |
| ||
Thanks, all the changes are free - I've included the source code and you can do what you want! Maybe (surely) someone can this better than me! The forward arrow toolbar icon seems to crash a lot with this version? I really don't understand what do you mean...do you refer to the icon style/graphics? if so, yes toolbar icons seem to be a little 'outdated' to me. While it definitely can be useful, it also adds clutter to the menu bar... No problem, a simple flag in the .cfg file and in the options panel and everything should work. I'm testing it on Linux (FLTK) at the moment: the funny thing is that the textfield toolbar works 'quite' as in windows (I need to investigate some problems with SetGadgetSensitivity under Linux...), but toolbar is another thing: RemoveGadgetItem don't seem to work as expected!!! |
| ||
This is great, thanks for sharing. Maybe this will encourage others to post their own versions of the BMax IDE for others to try. Maybe this could even become a subject for a future community challenge as it would benefit us all. Jason. |
| ||
Maybe this could even become a subject for a future community challenge as it would benefit us all. You mean, like the CE-IDE ? |
| ||
You mean, like the CE-IDE I'll certainly be taking a look at the code to add it in... |
| ||
Nice job and very usefull. Thank you! |
| ||
You mean, like the CE-IDE ? No, I actually meant that we could have a different challenge each month or so to add new things to the defualt IDE. Everyone could provide their versions and the winner each time (as decided by a voting system) would be added to the main project. For example, one month we might have a "design a new icon set" or another month something more serious like "add a way to add an icon to your .exe from within the IDE" Just something fun but of benefit to everyone using the default IDE. Jason. |
| ||
Great job! I successfully compiled under Linux Mint 6. A couple of problems: 1) Minimal but... GUI should be fixed (I cannot see you the image) 2) Everytime I find a help, I click the link and I get: Error - File not found Unable to find the file at /home/alessandro/Programs/BlitzMax/docs/file:///home/alessandro/Programs/BlitzMax/docs/html/Modules/Data structures/Linked lists/TList/index.html "alessandro" is my home. It seems there are problems to get html files (I tried to look for "TList"). |
| ||
Hi, I tested the code only on Windows (the image refer to this version only). The MacOs has some problems for the toolbar management (on win32 MaxGUI allow to 'attach' a toolbar to any panel, on Mac this cannot' be done, so the 'ugly' textfield below the toolbar...as seen in the second picture). The Linux version was under testing, but: 1. I know of the problem you reported: I need to manage the path of the help file 2. There is a problem (already notified in the MaxGUI error thread) about the toolbar: RemoveItemGadget (on toolbar) doesn't work properly. Probably this weekend I will fix the problems (I found in the meanwhile a solution for the RemoveGadget - see http://www.blitzbasic.com/Community/posts.php?topic=84859 - my last post. It works on every platform, but I need to change the source code to 'replace' the call to CreateToolBar to my function). 1) Minimal but... GUI should be fixed (I cannot see you the image) What do you mean? |
| ||
Ok, I've update to rev. 1.1 (just a cleanup and some bug fix) Now toolbar works well under Linux, search-toolbar can be disabled via options panel, url fixed (under Linux) link here ![]() Please post any suggestions/critics/bugs/improvements Thank you |
| ||
I just played a little bit to include latest changes to MaxIDE due to Universal/Target platform from Brucey works...![]() (On windows there's nothing interesting...now testing on Mac and Linux) |
| ||
here is my maxide mod.. this use degacs search input, but show results in listbox. also code treeview show type's fields. and toolbar there is Run & Debug button.. so you dont need to toggle debug on/off anymore.. here is screenshot: ![]() rightmousebutton hide results window. but here is SOURCE+BIN: http://www.byrathon.com/maxide_zeke.zip |
| ||
Interesting variation! And type's field in code-tree is one of the thing I like to see officialy implemented (and a reason I'm using the MaxIDE Community Edition too...) |
| ||
I'm going to add the search function to the CE IDE soon, probably not the next version as I want to crack one out this weekend ;-) But maybe next version... |
| ||
I've changed the 'html' page created to report the Modules infos (if you look for Create* - as in the image reported - you have many results, and the module/section can be useful to find exactly what you want).![]() Link for source and binary (win32) in the first post. Cheers |
| ||
MaxIde with Intellisense? this is what im now looking and working.... ...and its coming... |
| ||
For anyone wanting to make amendments to the IDE, I'm happy to add to CE IDE (provided code is reasonably intelligible). CE IDE already has very basic intellisense (just the command list). Links in signature. |
| ||
A little RFC; (I don't have max gui to try and do it myself).. When dbl clicking a .bmx, can it open in the current window as a new tab, instead of opening a new instance, with all the previous tabs open + the new one. :) |
| ||
CE IDE does this already on Windows. It needs to be enabled via the INI file (must get round to making that the default and adding option to the options pages...I use it all the time now without issue, so probably time to consider stable) |
| ||
For those who are intereset I update/tweaked my changes to the latest MaxIDE 1.34 version![]() Source link: http://www.graphio.net/download/MaxIDE_134_x.zip Binary (win32) : http://www.graphio.net/download/maxide134X.zip (tested only under Win32 at the moment - No MacOS supports) I've added some little translation for the search function. |
| ||
- Do you need some German text to be translated for this ide? - It would be nice to have menu to set if the compiled exe will be optimised for speed or size if that is possible. |
| ||
@Grisu Very kind for your help. Remember this is not the official MaxIDE, so at any change/update in the official one you can lose the additional translation (you need to manually add to the new one). These are the label that I added. help_search = "Find a command" help_tooltip = "Type here a BlitzMax command\nto search in the help.\nImage* finds everything starts with Image,\n*gadget finds everything finishes with gadget" help_result_title = "Search for:" help_result_comment = "Results for " help_result_start = "commands starting with " help_result_finish = "commands finishing with " help_command = "Show search engine" PS: my english is *not* so good, so if someone has a better translation...:) - It would be nice to have menu to set if the compiled exe will be optimised for speed or size if that is possible. Ok, I agree, but I suspect this mean a 'tweaked' BMK (Brucey magic powers involved?). Do you have a link? And this option - like the one to generate Universal Build - unless BRL/Mark decides to make it official, means the user need to 'get dirty' changing/copying/modifying settings and so on...I dont' know how many users want to do so - but in any case everything can be done! |
| ||
help_search = "Finde einen Befehl" help_tooltip = "Type here a BlitzMax command\nto search in the help.\nImage* finds everything starts with Image,\n*gadget finds everything finishes with gadget" help_result_title = "Suche nach" help_result_comment = "Ergebnisse für" help_result_start = "Befehle beginnend mit " help_result_finish = "Befehle endet mit " help_command = "Zeige Suchengine" Not sure about the help_tooltip translation yet. Haven't found the dialog for that. Btw: Did you miss the tooltip for "debug mode: off/on"? For Brucey's modifications: Haven't played with them much. But I thought it would be nice to have an easier access to these modifications. |
| ||
Not sure about the help_tooltip translation yet. Haven't found the dialog for that. I need to fix it. The tooltip should pop-up when you move the pointer over the search textfield. Btw: Did you miss the tooltip for "debug mode: off/on"? Yep! Thank you! edit: btw, I think I found a bug in my code about updating localization on my toolbar. I need to investigate. |
| ||
Update to revision .03 - fixed toolbar translation - fixed code tree reorganization (see Options -> Code tree style to activate-deactivate it (inspired by MaxIDE CE!) - MaxIDE version in both splash screen (see image below) and in About window. ![]() (the 'yellow' zones are only to hightlight the information about MaxIDE version) Links for .exe (win32) and source code in the first post. |
| ||
help_search = "Finde einen Befehl" help_tooltip = "Gebe einen BlitzMax Befehl ein,\num ihn in der Hilfe zu suchen\nImage* findet alle Befehle die mit Image anfangen,\n*gadget findet Befehle, die mit gadget enden" help_result_title = "Suche nach" help_result_comment = "Ergebnisse für" help_result_start = "Befehle beginnend mit " help_result_finish = "Befehle endend mit " help_command = "Zeige Suchengine" |
| ||
danke shön! (Grisu already made the german-translation, but I glad your help for the 'help_tooltip' missing translation!) I just read the release of the 'latest' MaxIDE 1.34 source code, so I need to 're-update' my changes with the latest Sebholl's fixes. |
| ||
wow! So long time! Well, I've uploaded a new version of MaxIDE X 1.34.10 Here you can grab source code + .exe (windows only at the moment) What's new? Support highlight for CONSTs and FIELDs: you need to rebuild documentation to make it work with BlitzMax modules' source code. I think it's very handy ![]() ![]() Here some videos http://www.youtube.com/watch?v=h48cLsCVH4s http://www.youtube.com/watch?v=BrBNoCdX_3w PS: autohightlight *is not perfect* - unfortunately - but still I think it's a big help during typing! Next step? Auto insert of ‘end block’ instructions: when I type IF, I would like to insert – automatically – END IF. Same for FUNCTION..END FUNCTION, WHILE..WEND, REM..END REM, TYPE.. END TYPE Yes I'm lazy! Cheers Last edited 2011 Last edited 2011 |
| ||
Get a MAV error at startup with your code and exe: [edit] deleted image for better readability. Last edited 2011 |
| ||
Ops! Thanks, source fixed and uploaded. |
| ||
Very cool, haven't had a chance to try it myself but I love the look. Any plans to support cross compilation like CE does using brucy's bmk2? update: just tried building the source since I'm running on mac and it appears to be missing toolbar.png. Last edited 2011 |
| ||
Thanks, For the brucey extension I need to check out - it shouldn't be a problem. At the moment - unfortuntely - I have no MacOS to test, so the lasts updates are tested only for Windows (and sometimes for Linux). |
| ||
the error I was seeing when compiling is due to the file not being included in the source distro. |
| ||
I moved a copy of the original toolbar.png to the folder now it compiles and links with out an error but when I try to run it i get: 2011-01-03 15:28:17.536 maxide134X_10[5237:717] *** -[PanelView setToolbar:]: unrecognized selector sent to instance 0x2a5370 2011-01-03 15:28:17.538 maxide134X_10[5237:717] *** -[PanelView setToolbar:]: unrecognized selector sent to instance 0x2a5370 2011-01-03 15:28:17.538 maxide134X_10[5237:717] *** -[NSDeviceRGBColor drain]: unrecognized selector sent to instance 0x204e90 2011-01-03 15:28:17.539 maxide134X_10[5237:717] *** -[NSDeviceRGBColor drain]: unrecognized selector sent to instance 0x204e90 any idea? I'm wondering why you would need toolbar.png when you have created your own icons3.png. |
| ||
Ops! I missed a file! Argh! Sorry. Toolbar.png was the original image for standard toolbar, while icons3.png is for 'my'toolbar: I really dont' remember why it must be present (probably there's some 'incbin' of the original version still around...) I will check it soon. And about the error, without a Mac is a little hard for me to understand the reason of the problem: probably the latest release of MaxGUI have changed some behaviour in the panel managment. |
| ||
See main post, I've made a little update (12b) or here for more informations Last edited 2011 |
| ||
Update to release 12f See the main post for more info Source Windows binary Linux binary |
| ||
Builds fine for me on mac but hangs on loading with the progress bar under the middle leg of the M in the Max logo. It's not frozen, just won't load any further. Could be my mods or something else I'm guessing. will investigate if time permits. |
| ||
yes, same problem for me I was able to trace the error in a line in TcodePlay here: Function MakeToolBar:tgadget(win:tgadget,url$="") If url="" Return Null Local Window1_Icons:TPixmap = LoadPixmap:TPixmap( url) Local Window1_Strip:TIconStrip = LoadIconStrip:TIconStrip( Window1_Icons:TPixmap ) If window1_strip=Null Return Null Local Window1_Toolbar:TGadget = CreateToolbar( "",0,0,0,0, win) <-freezes here ****************************************************** SetGadgetIconStrip( Window1_Toolbar, Window1_Strip:TIconStrip ) Return window1_toolbar End Function in creteToolBar in maxGUI it goes here: Function CreateToolbar:TGadget(source:Object,x,y,w,h,window:TGadget,style=0) Local flags:Int = 0 Local iconstrip:TIconStrip = TIconStrip(source) ?Debug If window.Class() <> GADGET_WINDOW Then DebugLog "WARNING: Toolbars should *only* be parented to window gadgets." EndIf ? Local toolbar:TGadget = maxgui_driver.CreateGadget(GADGET_TOOLBAR,"",x,y,w,h,window,style) '<----- this linel ************************ If toolbar If Not iconstrip Then iconstrip = LoadIconStrip(source) If (LocalizationMode()&LOCALIZATION_OVERRIDE) Then flags:|GADGETITEM_LOCALIZED If iconstrip toolbar.SetIconStrip iconstrip For Local icon=0 Until iconstrip.count AddGadgetItem toolbar,"",flags,icon Next EndIf EndIf Return toolbar End Function the goes here to TCocoaMaxGUIDriver: Method CreateGadget:TGadget(internalclass,name$,x,y,w,h,group:TGadget,style) Local p,hotkey If internalclass=GADGET_MENUITEM name=name.Replace("&","") ElseIf internalclass=GADGET_BUTTON p=name.Find("&") If p>-1 ' hotkey=Asc(name[p..p+1]) 'to do - convert and call SetHotKey before return name=name[..p]+name[p+1..] EndIf ElseIf internalclass=GADGET_TOOLBAR Global _toolbarcount _toolbarcount:+1 name="Toolbar"+_toolbarcount EndIf Local gadget:TNSGadget = TNSGadget.Create(internalclass,name,x,y,w,h,TNSGadget(group),style) '<---------here ******************** If internalclass<>GADGET_WINDOW And internalclass<>GADGET_MENUITEM And internalclass<>GADGET_DESKTOP gadget.SetLayout EDGE_CENTERED,EDGE_CENTERED,EDGE_CENTERED,EDGE_CENTERED EndIf than goes to TnsGadget and freezes before it's able to go into the function. gadget.name = text gadget.SetRect x,y,w,h 'setarea gadget.style = style gadget.font = TCocoaMaxGUIDriver.CocoaGUIFont If TNSGadget(group) Then gadget.forceDisable = Not (TNSGadget(group).enabled And Not TNSGadget(group).forceDisable) EndIf NSInitGadget gadget <---- finally freezes here and does not go into it ******************** GadgetMap.Insert TIntWrapper.Create(gadget.handle),gadget and gives out this runtime error: 23.035 maxide134X_12f.debug[1898:717] *** -[PanelView setToolbar:]: unrecognized selector sent to instance 0x3a4d70 in an error box and also gives out the warning mentioned in my previous post to the IDE console. Last edited 2011 |
| ||
That's because you can't add a toolbar to a panel - only to windows. Check the value being passing in as win:TGadget to MakeToolBar(). Edit: Yep, as suspected a toolbar is attempted to be added to a panel: toolbar_panel:tgadget=CreatePanel(0,0,648,32,window) SetGadgetLayout toolbar_panel,EDGE_ALIGNED,0,EDGE_ALIGNED,0 toolbar=MakeToolBar(toolbar_panel,"incbin::icons4.PNG")See the "IMPORTANT" warning message in the CreateToolbar() docs: IMPORTANT: Toolbars should only be parented to window gadgets. Parenting a toolbar to a panel is not officially supported - users are strongly advised to instead use push-buttons with pixmap icons set. Debug builds will output a warning message to standard error if toolbars are parented otherwise. Last edited 2011 |
| ||
Hi I have not a MacOS at the moment to test it - so as I said in the first post the IDE is tested only on Windows and Linux. And yes, when running in debug mode the 'warning about toolbars' is clearly visible in the output window, so it is not a surprise. Probably the best solution is to to replace (under Mac) the toolbar thing with a 'simulated one' (use push-buttons with pixmap icons set seems a clear indication) Or make a toolbar that mixes every genre of gadget (buttons, textfields and so on). At the moment the only solution for Mac I can provide is to exclude the additional panel-toolbar (losing the search field) and put this one on a separate windows. Cheers |
| ||
Maybe check out d-bug's CocoaExt module that supports textfield controls in OS X toolbars. Last edited 2011 |
| ||
At the moment I'm working on a new toolbar gadget (see here), that works quite well, but I found a problem on MacOS X about textfields and EVENT_KEYUP... I think I found a solution (but I need some time to implement it) |
| ||
I decided to post here (even if the thread is dead!) the info about my latest MaxIDE X version (1.81) Here 2 videos of the latest feature I've implemented http://youtu.be/YLKzjg9Kfh8 http://youtu.be/xtOfWzG4rak HERE BINARY (Win32) HERE SOURCE Please for more information take a look at the page http://www.graphio.net/?page_id=409 Cheers |
| ||
Wow, there's some really nice stuff on your site! I tend to stick with default tools, but will probably try MaxIDE X out, as it does look pretty cool. |
| ||
Awesome looking toolbar degac, did you draw it? |
| ||
Thanks @BlitzSupport: I dont' like waste my time while typing so I added these features for speed up thing... I know, I'm very lazy. @Skidracer I created a proxygadgets for it, and the icons are some icons I get on internet and changed/adapted manually by me. |
| ||
excellent work. couple of questions for you: 1. does it suffer from the random crash and slowdown of the current ide 2. looking into the source, where is the actual code drawing routines? I'de like to add some line numbers :) couple of issues (on mac) 1. find field won't display any edit text (so don't know if it's working) 2. ide colours not all saved on exit (number) Point me in the right direction and I can see where the problems are :) |
| ||
As I can't get a Mac so I can't say about errors. Surely my proxygadgets (toolbar) seem don't work correctly on macos - see above post by sebholl I based my work on the official maxide, I ve added my features to it. I haven't any crash using it... Of course maybe it depends on the source size. About the color not saved : I need to check, maybe I did something in the saving routine |
| ||
There are two known crashes with current MaxIDE, one in Linux where output window can crash parsing debug output of gcc and one where and endrem on last line will crash it (fixed yesterday). Claiming MaxIDE has random crashes without referencing or reporting them seems a little disingenuous, the slow down issue would also be nice to reproduce but again it is completely unknown to me. |
| ||
The only slowdown I found in MaxIDE is at startup. I found it's caused by the loading/populating the treeview and it depends on the numbers of 'commands' in the commands.txt file. I resolved this problem, deleting from commands.txt the command I don't want. A case of 'locking' is while highliting a specific file (pub.glew, an updated version from user BlabZ): the file itself is quite big and full of Const value and bbdoc Both under Win32 |
| ||
@AdamStrange I found a (stupid) error in the read method in OptionsRequester. Fixed. Thanks! (I was looking for number_style= instead of number_style) Question 1. find field won't display any edit text (so don't know if it's working) Did you activate the SHOW SEARCH ENGINE option in control panel? |
| ||
Ah - no problem about the find/search field then - pity Glad I pointed out the colour bug. Might want to also save the app window position and size too? |
| ||
Ok, I've updated to version 1.82 Fixed problems with number colors and window's position. I added a 'register IDE' button for Windows explorer (so - technically - if you click on an .bmx file you *should* open with the latest IDE) I'm still studying how to apply the icon to the files... Cheers |