Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
infopane.cpp doesn't build with wx26
SharkCZ:
Fedora Core 6 is supported until the end of 2007 and there will be no update to wx28. So I need wx26 support for this time to be able to build new nighties for FC6. In this case I would prefer to use only wxFlatNotebook in infopane.cpp as they are functionally identical (or not?). When you decide that it is not possible or meaningful for official C::B, I can always patch the Fedora version as this is really trivial change.
SharkCZ:
Is the code really used? I see that it is enclosed with #if 0/#endif in SetupGUILogging() in main.cpp
thomas:
--- Quote from: MortenMacFly on August 17, 2007, 03:12:02 pm ---Tried that with a project of mine -> doesn't work. With wxNotebook all is fine, with wxFlatNotebook it crashes and (in addition) removes parts not being removed by wxNotebook (which is also the reason for the crash btw).
--- End quote ---
Huh, funny...? Does wxFlatNotebook require you to call an intialisation function before you can use it, or something?
--- Quote from: SharkCZ on August 17, 2007, 03:24:13 pm ---Fedora Core 6 is supported until the end of 2007 and there will be no update to wx28. So I need wx26 support for this time to be able to build new nighties for FC6.
--- End quote ---
No worries, just do as you like, or like I said... simply remove the file from the build. The application does not use it, it's still work in progress.
When the application will use it, we'll certainly make sure it works with wx26, just now seems like the wrong time to think about a fix, as we haven't even decided what notebook we want to use :)
thomas:
--- Quote from: SharkCZ on August 17, 2007, 03:51:54 pm ---Is the code really used? I see that it is enclosed with #if 0/#endif in SetupGUILogging() in main.cpp
--- End quote ---
No, it is not.
The logging system is used and is working, but the InfoPane is only used if you remove the #if 0.
To elaborate, the logging system works in presence and in absence of GUI. Log data can be discarded, written to a file, shown on stdout, or whatever. This is not defined by the system itself, but by the individual loggers that are plugged in.
By default, all loggers are NullLoggers. At application startup, those are replaced with more sophisticated ones (can optionally be controlled via commandline options too).
One such logger flavour is one that works as NullLogger until it is asked to provide a control, at which time it starts logging to a wxTextCtrl.
Now, the code inside the #if 0 creates a notebook control, and asks all existing loggers for their respective controls, which it then adds to the notebook. InfoPane is a plain normal notebook, with the one addition that it shows a popup menu to show/hide tabs. It can be any notebook class, and it doesn't need to be a notebook at all.
SharkCZ:
Thank for your explanation, Thomas.
Navigation
[0] Message Index
[*] Previous page
Go to full version