RFC: WinBits enum class conversion, push down to subclasses?

Noel Grandin noel at peralex.com
Fri Mar 27 00:34:43 PDT 2015


Hi

So I started looking at converting the WinBits WB_* defines in

   include/tools/wintypes.hxx

to an 'enum class', and after a few changes and discovering that there are lots of WB_ macros scattered around that 
simply define a new WB_ value as pointing to an existing one e.g. in

   include/svtools/ivctrl.hxx
   #define WB_ICON         WB_RECTSTYLE
   #define WB_SMALLICON    WB_SMALLSTYLE

, I think that this whole thing needs a rethink.

Specifically, I think that

(*) we need to push these style things down to the subclass-specific level where each one applies, instead of 
multiplexing them into a single field at the root level

(*) we need to convert to using setter methods to turn them on and off

Further, I would suggest that

(*) the setter methods have the style

         MyWindowSubclass& MyWindowSubClass::SetFoo(bool b = true)

     so to make the code easier to write when setting multiple style flags i.e. we can then write

         MyWindowSubclass x();
         x.SetFoo().setBar();


If there is agreement on this, I will create an EasyHack for this.

Regards, Noel.

Disclaimer: http://www.peralex.com/disclaimer.html




More information about the LibreOffice mailing list