FLTK logo

Re: [fltk.coredev] Fl_Menu_ and Fl_Menu_Item::pulldown incremental overhaul?

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.coredev  ]
 
Previous Message ]New Message | Reply ]Next Message ]

Re: Fl_Menu_ and Fl_Menu_Item::pulldown incremental overhaul? Albrecht Schlosser Nov 20, 2022  
 
On 11/20/22 12:23 Greg Ercolano wrote:

On 11/20/22 01:34, 'melcher....@googlemail.com' via fltk.coredev wrote:

Hi Devs,

tl;dr : I would like to overhaul the menubar code, and I would like to do it incrementally, so we can find regressions. I want to use the master branch for that, but I would like to hear you first, since that may add work.

    Cool! Sounds a little scary though, lol. But maybe that's needed.

Yes, I agree to all three points: cool, scary, and needed.

    We seem to keep holding back 1.4.0 release, so I'm thinking we'd need
    to keep the old code the default, but could maybe make your code a
    build option that can be turned on to test, and later it could become
    the default?

I'm really afraid that such massive changes would have unforeseeable effects and might break user code. Once we push them to master it would be very hard to turn this back.

Hence I would suggest to use a branch, probably in a (i.e. Matthias') fork for first testing. I would volunteer to test and once we (me and other volunteers) see the code and find it "good enough" (i.e. unlikely to break existing code) we can still decide whether to merge it in master or not.

    I know that old application code might be using perhaps "unsavory"
    ways of accessing the internals of Fl_Menu's data to work around
    API limitations, which a code cleanup might break.

Yes, I'm also afraid of such effects. Maybe manipulations in Fl_Menu_Item arrays etc. that we don't expect.

Or, should the rewrite have a new API, e.g. Fl_Menubar_V2, Fl_Menu_V2
    so you can go bananas on the API, without having to worry about breaking     old code (since the old Fl_Menubar / Fl_Menu API would remain "forever")

That's indeed an option but in the end we'd need to *replace* the old menu code with the new code for one of the next releases. Keeping that old code "forever" would be a problem I'd like to avoid.

I think in a later phase a build option that would *replace* the old menu code with the new code so users can test their own applications w/o rewriting anything would be desirable.

I think we can't decide what to do (incrementally integrate in master or not) before we see the code. What I definitely don't want is "trying" something (in master) that doesn't work and needs to be reverted or is perhaps released at some time and breaks user code.

That said, this is my statement for now, w/o seeing the code, just from a "FLTK management" point of view. I have some more questions to the technical details mentioned by Matthias which I will ask in a separate message.

--
You received this message because you are subscribed to the Google Groups "fltk.coredev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fltkcoredev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fltkcoredev/70080b2a-95b1-63a3-70ec-e16b353123bc%40online.de.
Direct Link to Message ]
 
     
Previous Message ]New Message | Reply ]Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.