MaxguiEx module - extended maxgui functionality!
BlitzMax Forums/MaxGUI Module/MaxguiEx module - extended maxgui functionality!
| ||
Well I have recently posted a ton of maxgui enhancements as code snippets but decided to make a git repo and separate the module from my current project. Introducing maxguiex! https://bitbucket.org/skn3/maxguiex my systemex module is also required: https://bitbucket.org/skn3/systemex This is a module to extend maxgui on windows and mac, it provides functionality like loading gui fonts from disk, custom cursors, batch list operations, gadget dimensions and more! There is no linux support as I don't have the time to write the code for a platform I don't plan to support with my app. If anyone would like to port the functions to linux then please fork the repo :) |
| ||
Cool. Now on to Maximus with it! :-) |
| ||
How did you make the grid editor shown here?: |
| ||
Cool. Now on to Maximus with it! :-) Hmm I added them to my account on there but they don't seem to be picking up the git repo's. Am I meant to add a SCM per repo and then assign a new module to that SCM? is there anything after that I should do? How did you make the grid editor shown here?: The bit bottom left? Lots n lots of code! Unfortunately its quite deep rooted into other custom modules and it would be hell and time consuming to make it public source! It is just built up of gadgets and custom proxy gadgets though... Id be happy to return the favour of code you gave with the canvas based tree if you like? But not sure how much use it would be cos of the tie to the other modules. |
| ||
Update: Added SetTextAreaLineSpacing() |
| ||
Update: Added ScrollTextAreaToTop() ScrollTextAreaToBottom() ScrollTextAreaToCursor() |
| ||
Update: Added GetAppResourcesPath() (this is mainly for mac mode and will get the app bundle resources path) |
| ||
Updates Added: CreatePanelEx() Added: SetPanelExGradient() Added: PointOverGadget() Fixed: GadgetWindow() PointOverGadget & GadgetWindow PointOverGadget() is a function to do a "hit test" from a screen point to a gadget. Very useful if your making drag and drop! GadgetWindow() returns the window a gadget belongs to. PanelEx & Gradients I have coded an Extended Panel which uses a normal maxgui panel and allows custom code to replace default behaviour. The current ability of a PanelEx is to set a gradient fill. I will inevitably add some more functionality to panelEx but gradients are a good start! The gradient fill works on windows and mac. On windows GDI is used and on the mac NSGradient is used. Here is an example of gradients working: Last edited 2012 Last edited 2012 Last edited 2012 |
| ||
Thanks for the update. Is there a way to enable mousewheel up/down support for the ScrollPanel? |
| ||
Hey grisu, it should be fairly easy, although I can't really take on requests as this is my day job and can only afford to add things used in my project. Have you tried just copying the scroll panel code and adding in to capture the mouse wheel event? |
| ||
hey again grisu,... had a thought and it probably wouldn't be as easy as it would first seem. The scroll event is only really fired for teh currently focused gadget, so the moment you focused something inside it would not capture the scroll events. Maxgui doesn't really have a way to redirect its events to a parent gadget or something like that so it would probably be a big headache to get working on all platforms. |
| ||
Thanks for trying. I wish I could resurrect Seb to work on the GUI module again. He's my only hope for crossplatform additions. |
| ||
Seb was a master of maxgui! I wish I had spare time, I reckon I could really add some cool stuff to maxgui. |
| ||
Just wanted to say thanks. Some nice additions to MaxGUI. If you feel like it keep it coming. -Henri |
| ||
Thanks :D On my todo list is to add a painting API to the panelEx. This would work by the panel calling a custom paint function pointer. You would then be able to use a set of cross-platform painting commands such as PaintGradientRect() PaintText() PaintTextInRect() PaintLine() etc It would hopefully mean the end of having to use a canvas for custom gadgets! Id like to convert some of the custom gadgets I have in Objecty (the project which is backing maxguiex) to use a single panel without bitmaps. Currently some of the custom gadgets are comprised of many smaller panels which is not very efficient. It is not high on the todo list but it will get done eventually :) Last edited 2012 |
| ||
Haven't used this yet, but just wanted to say thanks for putting it out there, looks great! The cross platform support is really the key. Also thanks for the GetAppResourcesPath() method, sandboxing and store compliance is going to be tricky to nail down in bmax apps, this is going to help a lot. |
| ||
Moved to bitbucket |