[Gambas-user] My "Gambas developer mode"
Benoît Minisini
g4mba5 at gmail.com
Tue Mar 9 14:07:12 CET 2021
Le 09/03/2021 à 13:44, Bruce Steers a écrit :
>
>
> On Mon, 8 Mar 2021 at 19:43, Benoît Minisini <g4mba5 at gmail.com
> <mailto:g4mba5 at gmail.com>> wrote:
>
> Le 08/03/2021 à 13:56, Bruce Steers a écrit :
> > Ever considered anything like this for us Ben?
> >
> > That Not-so-safe thing i have done to load custom controls in
> gambas IDE
> > (that I am finding a VERY useful feature) I have now hidden
> behind an
> > unlock feature a bit like an Android phone hides it's developer
> options
> > till you click "Build Info" a few times.
> >
> > With plenty of warnings about the risks of the functions we
> should be
> > aware of.
> >
> > Here's a screengrab of me enabling/disabling the feature.
> > http://bws.org.uk/images/screenrecord-2021-03-07_20.51.37.mp4
> <http://bws.org.uk/images/screenrecord-2021-03-07_20.51.37.mp4>
> > <http://bws.org.uk/images/screenrecord-2021-03-07_20.51.37.mp4
> <http://bws.org.uk/images/screenrecord-2021-03-07_20.51.37.mp4>>
> >
> > I'm sure there's a number of other things that possibly come with
> risk
> > but great benefit you would not want to enable for general use
> but could
> > be handy for gambas developers.
> >
> > Well wishes
> > BruceS
> >
>
> Mmm... No. If I want to test something, I put in the development
> version. Once in the stable version, there should be no reason to hide
> an IDE feature.
>
>
> Aaw Ben you're so ,, er ,, correct :)
> And so is gambas because of it (and that is great)
>
> But I have a great reason to hide a feature , because it's useful for
> advanced users but simply put "a hack" and causes unexpected behaviour ;)
>
> Like adding custom controls, the only problem i have come across doing
> this is if in the IDE (using the same window) i load the custom control
> project and then load another project then go back to the control
> project without closing gambas it gets a load error, I just have to be
> sure to close gambas or re-load the project into a new window. (it's a
> downside i'm happy to deal with to see my controls in the dasigner)
>
> So my thinking is about "unsafe" features.
> I assume getting custom controls to load/unload in the designer safely
> is no simple task that would take quite a re-write of some stuff.
> So there some workarounds for the not so timid.
> I mean , I'm using a development environment that says "USE AT YOUR OWN
> RISK" in the title. I really don't mind using some features that have
> "USE AT YOUR OWN RISK" in the title too ;)
>
> Maybe not call it "Developer options" or "Tweaks" but call it "Hacks"
> shamelessly , features that cannot be corrctly implemented but can still
> be incredibly useful, if understood the risks ;)
>
> The benefits of loading a custom control for me are huge, being able to
> change alignment / autoresize / etc and see the changes react in the
> designer, I do not think i would have understood what Me.Design meant so
> quick if i was not seeing things in the IDE.
>
> Just seeing a custom controls icon and its name in a box in the IDE is
> just soo , nah , me no like, but properly implementing something like
> this i think would be well beyond my understanding of the gambas internals.
>
> but i think I see what you are saying. This "hidden feature" thing i
> propose is how you see gambas-master compared to stable, but I was not
> thinking this feature i propose of adding controls would or could be a
> gambas addition and only a workaround/hack was possible. hence hide it ,
> make someone read some docs/warnings before using it.
> But a bonus for someone like me who has reached a level of hand building
> controls. and understanding how adding them to gambas is great but has a
> down side.
>
> Much respect
> BruceS
>
>
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>
As I said before, I can't add that to the IDE because it is not possible
to make it reliable.
What I can imagine to make custom controls drawable in the IDE in a
reliable way would be creating another hidden component side by side to
the main component (for example "<component name>.draw") that just
implement the drawing routines of the main component controls, and that
offer them to the IDE throw a specific method ("DrawControl" for
example) of a specific class ("_<component name normalized>_Draw" for
example).
But then you will have to duplicate the drawing code, and adapt it to
the IDE context: you will receive the values of the property from the
IDE, you won't actually create the control, and so on...
I won't make that now anyway.
Regards,
--
Benoît Minisini
More information about the User
mailing list