Latest win32maxgui beta
BlitzMax Forums/MaxGUI Module/Latest win32maxgui beta
| ||
The latest version of win32maxgui beta is now available for testing. With recent fixes to tabber client area, scrollbar issues, menuevents and sliders it's very close to replacing the legacy brl.win32maxgui module. Last thread was here. If you can, please help test, remove your dev.win32maxgui folder if you were testing the old one and syncmods for axe.win32maxgui. Place Import axe.win32maxgui at the top of your apps. Please post any problems below. |
| ||
Hi Skidracer I've just tested this version and there were some differences beetween your and the other version. - Adding items to a Listbox seems to be faster in your version.good - If I select a combobox, my program ends without any error message. - The scrollbar scrolls down if I set a text with SetTextAreaText. Mfg Suco |
| ||
Thanks Mfg, will get onto it. New version is up which should support 32bit iconstrips and an embedded winxp manifest file. Another problem seems to be htmlview events, clicking on a bmx example file in maxide help browsers the file not loads it. |
| ||
OK new version is up with fixes for comboboxes and hopefully cursor position/scrollbar issue. |
| ||
Hi Skid Bugs are fixed, thank you. I also found some new listbox bugs. - If I wait for EVENT_GADGETSELECT, eventextra is null EDIT: Combobox same problem - I need to set the mouse over the text of an listbox item to select it with a click. |
| ||
Thanks again! untested "fixed" version is up. |
| ||
Nice release - thanks. I found a few problems using this old example I posted for Cocoa in the bug bin: First of all, the button at the bottom is hidden presumably because WINDOW_CLIENTCOORDS doesn't take into account the size of the status bar. Removing the status bar fixes the problem. Secondly, the program doesn't seem to actually work - have you implemented SelectTreeViewNode() yet? I'll look for some more bugs when I've got some more time tonight... Seb |
| ||
Thanks Seb, syncmods for fixes (hopefully) to both issues. |
| ||
Unable to syncmod? No errors just nothing to get. |
| ||
Did you tick axe modules in syncmods? |
| ||
Yes, and it has all fetched your other modules but not axe.win32maxgui? And I have tried "syncmods -u **** -p **** axe.win32maxgui" this get nothing as well? |
| ||
Thanks for the fix Skid. I've noticed that programatically selecting tree view nodes, list box/combo box items, generates events, which should be surpressed (you can see this in the same example as above). Seb |
| ||
The new version totally breaks my app. It starts up and gets caught in an endless loop (CPU Usage=100%). I can't even make a screenshot of this or debug stop it. :( The problem seems to have something to do with using a lot of canvases at the same time 6 or so! |
| ||
Grisu, that sounds very much like what Sebs is talking about with gadgets generating events when they shouldn't which can easily cause inifinite loops in an app. Please wait for next version and hopefully it shall be fixed. |
| ||
Thanks for the fast reply Skid! I'm currently trying to dig out an example bug code. New version is up which should support 32bit iconstrips What exactly does this mean. Didn't the listbox display true 32bit icons before? P.S.: Tiny future feature request: Could you make it possible that one can add a combotbox item for an unselected combobox? So that when you first create a combobox one can add a text like "(Click here to select xyz)" without selecting any item inside the list. |
| ||
A couple of obvious things that I've just found by compiling the CE IDE against this: - toolbar tips seem to be offset by one icon - textarea font size is much bigger than it should be sorry, no time to knock up quick examples, but they should be easy enough to reproduce, or just d/l the maxide2 code from sf.net. |
| ||
Thanks Mark, fixed the toolbar tips, also fixed the context field for gadgetfilters, automatic indent is still broken in maxide so a little way to go. New version up: ModuleInfo "History: 0.17 Release" ModuleInfo "History: added 32 bit panelpixmaps, fixed toolbar tips, checked extra events, unborked filter contexts" Grisu, no win32 icons used a solid white background which could then be masked, the new 32 bit support allows for perpixel alpha blending with the gadget background. There are several issues still so please don't read that as fully implemented quite just yet but win32 icons and panelpixmaps are quickly catching up to their cocoamaxgui (apple) counterparts. |
| ||
hmm, latest sync throws an error (-lmsimg?), and I didn't need to rebuild modules last time... |
| ||
rebuild all modules didn't fix it. cannot find -lmsimg32 |
| ||
It's needed for the new 32 bit pixmap panel support (AlphaBlend function). With the standard MingW install you should have the file mingw/lib/libmsimg32.a file, I may be using a newer version of bmk so try copying it into your blitzmax/lib folder. |
| ||
Yup the file is in the mingw install, and copying it across fixes it, without a rebuild all modules. |
| ||
Are my previous post just being overlooked or am I invisible? When doing a syncmods without an axe.mod folder I get: Receiving: axe.portaudio Receiving: axe.jasper Receiving: axe.luascript Receiving: axe.lua Receiving: axe.freeport and that is all, no win32maxgui? |
| ||
It appears on the bottom of the Modserver list so not sure why you're not getting it. |
| ||
Have just tried the same from my Linux box and I get the same no axe.win32maxgui? |
| ||
just so we can rule out the obvious; You have bought the MaxGUI module? |
| ||
Yes. I really don't know what is going on? |
| ||
Can you see it on the bottom of the modserver list? Skid, is the module available to MaxGUI users only? If so, how are you checking? Is it an old list? @Nigel Brown, when did you get MaxGUI? What do you have in cfg/modservers? |
| ||
Hi Sorry skid, eventextra is now <>null but I can't convert it (wrong object?). This doesn't happen in the normal version. Also I get an error with the new version: "Compiler Error Duplicate identifier 'ALPHABLEND' in modules 'axe.win32maxgui' and 'brl.max2d'." |
| ||
@tonyg Can you see it on the bottom of the modserver list? yes @Nigel Brown, when did you get MaxGUI? It came when released as part of the update from Blitz+ (is this why)? |
| ||
Getting this error nevertheless (have ibmsimg32.a installed!): |
| ||
Ooops, new version coming soon. Nigel, can you check your blitzmax/cfg/modservers.cfg, perhaps it's still pointing at last versions mod server (with last update it should be aimed at modserver124). Also, you need to be on a windows machine to receive the update. If thats all correct I'll ask Mark, as I put in a request to block non maxgui registered users from accessing maxgui modules on axe a few days ago but not sure where we're at with that one. |
| ||
Can enabling Windows XP themes be made optional? Tabs still don't style correctly. Also, loading Tahoma at size 8 seems too small. Specifying 8.5 as the size makes no difference. Finally, will spin controls ever be added to MaxGUI? |
| ||
New version up with fix for Max2D DrawAlpha name collision. Robbie, how should tabs be styled? Here's how they look at the moment on my system which from what I can tell is identical to graphics properties window. |
| ||
Hi Skid, Just compiled the IDE with the latest Axe.Win32MaxGUI downloaded 2 mins ago, and I noticed that if you resize the window using the right/bottom side of the border, the gadgets are resized fine, however using the top/left sides, means that the gadgets don't resize. I'm running Vista 32-bit... Thanks Seb |
| ||
This is how they look in Blitz: This is how they should look: Am I just being picky? :P |
| ||
Thanks Seb, fixed version is up. |
| ||
Hi Skidracer Listbox EventExtra() bug is still available. Here is a small sample code. As you can see, there is definitely an Eventextra problem. Thank you for fixing. |
| ||
^^My app is still broken too, so the "event problem" has to be there. |
| ||
Skid: Have you had any joy with transparent and/or coloured labels with the development version yet? Cheers Seb |
| ||
Suco, can you try another sync, should be fixed now. Grisu, we still need to identify the bad event. If you add a debuglog currentevent.ToString() call after all your waitevents and then send your program into a spin, hopefully the type of events involved will be made clear. Full support for transparent gadgets is coming once I get event generation 100%. |
| ||
Executing:dfa0909.debug.exe DebugLog:Unknown Event, id=0: data=0, mods=0, x=0, y=0, extra="" DebugLog:AppResume: data=0, mods=0, x=0, y=0, extra="" DebugLog:AppResume: data=0, mods=0, x=0, y=0, extra="" DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" DebugLog:WindowMove: data=0, mods=0, x=244, y=312, extra="" DebugLog:WindowMove: data=0, mods=0, x=244, y=312, extra="" DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" DebugLog:WindowMove: data=0, mods=0, x=413, y=325, extra="" DebugLog:WindowMove: data=0, mods=0, x=413, y=325, extra="" DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" DebugLog:WindowMove: data=0, mods=0, x=409, y=376, extra="" DebugLog:WindowMove: data=0, mods=0, x=409, y=376, extra="" DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" (...) MaxIDE crashes too after many debuglog entries have been made! |
| ||
Maybe a few more, it seems to be logging each event twice? Also a log without axe.win32maxgui may help, so we can identify the difference with current driver. Heres a LogEvent function you can call instead of the current debuglog currentevent etc. which may make things clearer.... Function LogEvent() Local l$=currentevent.ToString() Local g:TGadget=TGadget(currentevent.source) If g l$=l+" from "+g.GetText()+" with "+g.items.length+" items" DebugLog l End Function |
| ||
I called the log command before and after waitevent, that's why the double commands were displayed, sorry. DebugLog:AppResume: data=0, mods=0, x=0, y=0, extra="" DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" from with 0 items DebugLog:WindowMove: data=0, mods=0, x=244, y=312, extra="" from with 0 items DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" from with 0 items DebugLog:WindowMove: data=0, mods=0, x=413, y=325, extra="" from with 0 items DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" from with 0 items DebugLog:WindowMove: data=0, mods=0, x=409, y=376, extra="" from with 0 items DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 with 0 items DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from with 0 items DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from with 0 items DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" from with 0 items DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 with 0 items The last command is repeated over and over till the ide itself crashes too. I can't do any inputs in my app at all! |
| ||
Function LogEvent() Local l$=currentevent.ToString() Local g:TWindowsGadget=TWindowsGadget(currentevent.source) If g l$=l+" from "+g.GetText()+" type "+g._class DebugLog l End Function This one should tell us the gadgettype at least... |
| ||
Hi Skidracer Thank you, all bugs fixed. |
| ||
DebugLog:AppResume: data=0, mods=0, x=0, y=0, extra="" DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" from type 1 DebugLog:WindowMove: data=0, mods=0, x=244, y=312, extra="" from type 1 DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" from type 1 DebugLog:WindowMove: data=0, mods=0, x=413, y=325, extra="" from type 1 DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" from type 1 DebugLog:WindowMove: data=0, mods=0, x=409, y=376, extra="" from type 1 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 type 4 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from type 4 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from type 4 DebugLog:WindowActivate: data=0, mods=0, x=0, y=0, extra="" from type 1 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 type 4 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 type 4 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 type 4 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 type 4 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 type 4 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 type 4 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 type 4 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 type 4 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 type 4 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 type 4 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 type 4 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 type 4 DebugLog:GadgetAction: data=0, mods=0, x=0, y=0, extra="" from 0 type 4 Type 4 for I think it is?!? |
| ||
Aha, it's a problem with textfield events, think its fixed, syncmods to test... |
| ||
Hi Skid, I've sync'd this morning and tried to compile Max'd GUI with it and I think there are a few more events being triggered with Text Areas than there are supposed to. I am leaving for work now but I assume they are being fired when text is set etc - I'll try to get a working example for you tonight, but I thought you might want to know... Update: The text area example in the docs shows that events are triggered when text is set/selected programatically: Cheers Seb |
| ||
Thanks Skid. At least my app is starting now. Bug Report: Tooltips of listboxes are broken. Same issue as I have reported with the original win32maxgui: http://www.blitzbasic.com/Community/posts.php?topic=60517#675021 Strict Import axe.win32maxgui Local window:TGadget Local button:TGadget Global Listbox:TGadget Local combobox:TGadget Local dfa_mode:Int = 0 Const MAXKIDSFOLGEN=29 Const MAXFOLGEN=130 window=CreateWindow("My Window",30,20,200,200) button=CreateButton("Change Listbox",4,100,100,24,window,BUTTON_OK) Listbox=CreateListBox(4,4,120,80,window) Create_Listbox(dfa_mode) While WaitEvent() Select EventID() Case EVENT_GADGETACTION Print "eventdata="+EventData() Case EVENT_WINDOWCLOSE End End Select Select EventSource() Case Button dfa_mode=Not dfa_mode Create_Listbox(dfa_mode) End Select Wend Function Create_Listbox(cfg_dfamode:Int) ' Create a fresh Listbox according to dfamode ClearGadgetItems Listbox ' clean all mess up Select cfg_dfamode Case 0 ' SetGadgetIconStrip(ListBox, IconStripDDF) For Local i:Int=0 To MAXFOLGEN-1 AddGadgetItem ListBox, "MODE 1 - Item "+i, GADGETITEM_NORMAL, 0, "MODE1 Helptext "+i Next Case 1 ' SetGadgetIconStrip(ListBox, IconStripDDFKIDS) For Local j:Int=0 To MAXKIDSFOLGEN-1 AddGadgetItem ListBox, "MODE 2 - Item "+j, GADGETITEM_NORMAL, 0, "MODE2 Helptext "+j Next End Select End Function |
| ||
Bug Report: SetMinWindowSize() In some cases it isn't working correctly, i.e. allowing the user to shrink the window more than he should be (h and w wise). SuperStrict Local style:Int = WINDOW_TITLEBAR | WINDOW_RESIZABLE | WINDOW_CLIENTCOORDS | WINDOW_MENU | WINDOW_HIDDEN'|WINDOW_STATUS Global MyWindow:TGadget MyWindow:TGadget=CreateWindow(" Test", (GadgetWidth (Desktop ())-792)/2,(GadgetHeight(Desktop ())-400)/2,792,400,Null,style) SetMinWindowSize( MyWindow,792,400) ShowGadget(MyWindow) While True WaitEvent Print ClientHeight(Mywindow)+" y: "+ ClientWidth(Mywindow) ' Print CurrentEvent.ToString() Select EventID() Case EVENT_WINDOWCLOSE End End Select Wend ^^This code works fine, but for reasons I haven't identified yet, I need to add "SetMinWindowSize(MyWindow,792+8,400+46)" in order to make my main window (792,400) behave correctly. With the old module it works fine though?!? Any ideas? |
| ||
yet, I need to add "SetMinWindowSize(MyWindow,792+8,400+46)" in order to make my main window (792,400) behave correctly. With the old module it works fine though?!? I remember posting the bug report for the original Windows MaxGUI module. I think it was down to the fact that SetMinWindowSize() handles the parameters passed differently depending on whether it is applied to a Windows with/without the WINDOW_CLIENTCOORDS flag. Fingers crossed one of these new additions to the MaxGUI module is SetMaxWindowSize() [links to tweaks: Mac | AXE Win32 | FLTK ] ;-) |
| ||
A couple of things I've noticed: - The full line is no longer selected in the listbox gadget. Only the line text is. - Child windows appear on the taskbar and over other windows unrelated to the application. This looks really unprofessional. This didn't happen with the old win32maxgui. Feature request: - Ability to remove the icon from a window. |
| ||
Another issue: Smaller listboxicons aren't displayed 100% semitransparent. |
| ||
Have the problem that child windows show up "behind" the maximised main window and not on top of it. Trying to dig out a bullet proof example code. |
| ||
Have the problem that child windows show up "behind" the maximised main window and not on top of it. Trying to dig out a bullet proof example code. It doesn't look like Skid has added WINDOW_CHILD functionality yet to Axe.Win32MaxGUI. There is no code for handling the flag inside the Create method so child windows are going to act exactly the same as normal windows for now... |
| ||
Aha, ok. Any new stuff to test for us? |
| ||
I'm going to be interested about what Skid is going to do regarding the WINDOW_CHILD flag. It's really useful but I don't suppose there is an easy way for Skid to implement this due to the different ways each OS platform works. It seems as though Apple don't like the idea of child windows (unless they are floating tool windows) and prefer tabbed document management (which is more modern and organised). Therefore it will be near impossible to get the same behaviour for child windows across platforms - though hopefully I may be proved wrong. Waiting eagerly for the next release... Seb |
| ||
I noticed that Menu Items are not grayed/disabled. I tried logging the return value of EnableMenuItem(), it returns 0 so it should work. But after a while (many Enable/Disable tries later, it returns -1 (not found)) I have no clue :( |
| ||
Thanks Grable, fixed in next update. |
| ||
Just spotted that the NONAVIGATE option on htmlviews doesn't work, i.e. clicking links still works! However, whilst you're in there, and if it's possible across all platforms and in the old win32maxgui, could you change the behaviour so that a drag and drop onto aHTMLview generates a WINDOWACCEPT event? Currently drag and drop and clicking an event generate the same event, which is a bit of a pain. |
| ||
OK, version 25 is up. The TextArea gadget may be a bit unstable but is now I think about 6 times as fast as original. fixed menu open states faster TOM based richedit fixed new tabber size - removed child hwnd fixed onnotify filter results childwindow and nonavigate htmlviews to come... |
| ||
Tabs now style properly... thank you, thank you! Loading Tahoma at size 8 still seems to be too small. Not really a big deal, though. Is it just me, or does the TreeView not support icons anymore? HTMLViews don't seem to throw EVENT_GADGETDONE anymore.. |
| ||
icons and tips will be returning shortly for all items and gadgets |
| ||
My textareas aren't displaying text at all now...?!? *confused* Didn't change a single line of code. Just replaced the devgui with the newest version. Probably an event problem? faster TOM based richedit ^^Does this mean the ".rtf" format is supported by the textarea? Edit: Events seem to be fine. It seems as if my setareatext command isn't "outputting" the text anymore. MyArray[Current_Folge].text" is an array of strings. LockTextArea(MyText) SetTextAreaText(MyText,MyArray[Current_Folge].text,0,TEXTAREA_ALL, TEXTAREA_CHARS) (...) UnLockTextArea(MyText) |
| ||
When you create gadgets such as checkboxes, labels, panels (especially when set to PANEL_GROUP) on a tab, they have a grey background: Any chance it can be changed so they have a transparent background? |
| ||
P.S. Could you please make the forced XP manifest optional? |
| ||
I just noticed something. When you set a menu's hotkey to KEY_DELETE, it doesn't actually show up on the menu: It does show up in the older MaxGUI. |
| ||
Grisu, new version is up that fixes your problem with readonly textareas not updating. Hopefully I'll have some time this weekend to fix up all the loose ends, thanks everyone for all the testing! |
| ||
new 32 bit pixmap panel support (AlphaBlend function) Hi Skid, Could you post more info regarding 32bit pixmap panel suport. For example, does that mean, if I use DrawPixmap, the alpha is retained after using GrabPixmap and re-saving the image? |
| ||
Thanks a lot Skid. Textareas are working now. Bug: Formattextarea isn't using TEXTFORMAT_BOLD etc. flags. The color of a text is changed correctly but the font style itself stays "normal" Just came home from work, maybe dig up an example code later. |
| ||
Bug: Formattextarea isn't using TEXTFORMAT_BOLD etc. flags. The color of a text is changed correctly but the font style itself stays "normal" Confirmed here - I'm sure this worked in a previous version, as it now shows up in the IDE when using this module...and I hadn't noticed it before... |
| ||
Me again, just posting a reminder that HTML View isn't finished yet. Neither of the flags are working, and EVENT_GADGETDONE isn't triggered when a page loads. |
| ||
The tooltip bug and child window problem is still there too. But don't let us put too much stress on Skid, right?... ;) |
| ||
If anyone is in need of a quickfix for the rich text box formatting flags, replace Method SetStyle() in axe.mod/win32maxgui.mod/win32maxgui.bmx with: While I'm here, I might as well mention the bug that you can remove text from HTML views by cutting (Ctrl + X) that was also present in the old Win32 module. |
| ||
Me again! Any more news about development for Axe.Win32MaxGUI? Cheers Seb |
| ||
bump |
| ||
CodeGit: bump? it was only the third post below the sticky! |
| ||
Hows Max'd GUI coming? :O |
| ||
Hows Max'd GUI coming? Development has been slow because of the amount of exams (I'm a student) and because of bugs I keep coming across. The Windows version I'm quite proud of at the moment, but I can't compile it on Linux because of this and I still haven't got round to adding Menu support. The final thing I am waiting for is the release of this new Win32 module as I think it will speed up the program and will be easier to track down bugs without trawling through realms of C++ code. Hope Skid has a new release planned soon... Finger crossed eh? :) |
| ||
Just recompiled a working MaxGui app with the AXE version. a couple of quirks 1) the menu does not work at all (shows the top level but no sub menu) 2) gadget.SelectedItem() shows -1 if the gadget does not have focus. |