Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


Hi János
On 17/08/12 09:49, Noel Power wrote:
Anyway I think if this runs ok ( I will try it later ) I would be inclined to just check it in, the benefits from this change far outweigh any new minor bugs that might be introduced. I will attempt to review or at least scan the resulting new code rather than trying to read the diff

ok, I ran it and it works nicely !! ( it's even possible to still dock the properties browser, although it stacks it a bit weirdly :-) ) I committed the patch, some minor nitpicks

the Layout class has some virtual methods with no implementation, this sounds like these need to be pure virtual making Layout an abstract class ( which makes sense ) When I looked a little close at some of those methods I notice

Layout::ConfigurationChanged is not used at all either in Layout itself of in any of the classed derived from it

similarly ExcuteGlobal & GetState I'd prefer if those were pure virtual, actually ExecuteGlobal isn't used in either class :-) so, it's not clear whether you actually intend to use them for something or not but it's confusing when you have like
basides1.cxx:701
    if (pLayout)
        pLayout->ExecuteGlobal(rReq);
which does nothing

    virtual void UpdateDebug (bool bBasicStopped = false);

virtuals with defaults are not really recommended, I removed the default, actually for this method, would be greate if we could remove it from this base class altogether, it doesn't really fit since Dialog has no concept of the debugger. The Layout class is a container and that method depends on assumptions about the contents of the container. Anyway I didn't see an easy way out of removing it at this point, probably something to keep in mind to try and remove from here in the future, it wont do any harm to leave it there.

I committed e03553ab7515b60851dfca2c16a2fcae7a49f441 to address some of the above hope that is ok

some other things to consider,
* probably best to have your Layout class deal with DockingWindows rather than BasicDockingWindows, afaik ( could be wrong ) the properties browser dialog needs to be a SfxDockingWindow ( to get framework updates etc. ) * would be really nice to be able to get the watch window or stack window back after you close them ( currently they seem to be only created when the ide is opened), at least I couldn't find a way to get them back after closing them * split behaviour, I think we could improve that ( yes I know it is working more or less the way it was, it's not your fault ) now personally I would like to see * the split behaviour more dynamic, for example if I make the stack window floating and now there is just the watch window in the area I would expect the watch window to fill the available space and the splitter to disappear. * and the reverse, if say the watch window occupies the full area and I drag the the stack window into same area I would like to see the split position determined by the size of the new window docked * preserving state between dialog and module, I think this will be important because the area used in the dialog editor is quite different and I would expect someone would dock/size/position the windows in a different arrangement between the Module and Dialog views

all in all I really think you have done some great work here and I am sure more great stuff to come from you,

thanks

Noel


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.