]>
Commit | Line | Data |
---|---|---|
1 | ///////////////////////////////////////////////////////////////////////////// | |
2 | // Name: doc_mainpage.h | |
3 | // Purpose: wxFoldPanel | |
4 | // Author: Jorgen Bodde | |
5 | // Modified by: | |
6 | // Created: 22/06/2004 | |
7 | // RCS-ID: $Id$ | |
8 | // Copyright: (c) Jorgen Bodde | |
9 | // Licence: wxWindows licence | |
10 | ///////////////////////////////////////////////////////////////////////////// | |
11 | ||
12 | /** \author Jorgen Bodde | |
13 | \mainpage | |
14 | ||
15 | This is the wxFoldPanel documentation guide. This control is written for wxWidgets (http://www.wxwidgets.com), and | |
16 | can be used as a side bar with managed panels which can collapse and expand. | |
17 | ||
18 | The wxFoldPanelBar is very easy in it's use and allows great flexibility in manipulating it even after creation. It can | |
19 | be created in two modes: | |
20 | ||
21 | - In place folding: This means that the panels which are collapsed, stay where they are. | |
22 | - To bottom folding: This means that the panels are collapsed to the bottom | |
23 | ||
24 | The caption bars are managed by another stand alone control (which I will fix up to be released soon), called the | |
25 | wxCaptionBar. You as user don't have to do much with this control right now, all styles are rerouted through the | |
26 | wxFoldPanelBar. The only class of interest is wxCaptionBarStyle which takes care of the visual style of the | |
27 | bar. The caption bar can be drawn in the following modes: | |
28 | ||
29 | - Gradient horizontal fill | |
30 | - Gradient vertical fill | |
31 | - Single flat colour | |
32 | - Single colour with border | |
33 | - Single border with background fill | |
34 | ||
35 | wxFoldPanelBar is freeware and distributed under the wxWidgets license. wxWidgets is THE toolkit for | |
36 | (cross platform) C++ / Python programming! | |
37 | ||
38 | \section things_done Things to be done | |
39 | ||
40 | I would like to add the following features when time allows me. When you really like one of these features to be in the | |
41 | next release, you can either make that clear to me, or help me with it. They aren't that hard. | |
42 | ||
43 | - Single fold which means all other panels are collapsed automatically | |
44 | - Smart size of panels when only one is open, take the whole space, or use sizers to proportionally size | |
45 | - Small icons next to the caption for clarity and make it a bit more visually nice | |
46 | - A bottom bar with visual icon when the bar cannot be completely shown to aid the user that there is more then can be seen | |
47 | - Panels can be hidden. This feature will also need the bottom bar, so that the icons of hidden panels will apear there | |
48 | - Resizable panels, the user can manually size the panels bigger or smaller | |
49 | ||
50 | \section how_work How does it work? | |
51 | ||
52 | The internals of the wxFoldPanelBar is a list of wxFoldPanelItem classes. Through the reference of wxFoldPanel these | |
53 | panels can be controlled by adding new controls to a wxFoldPanel or adding new wxFoldPanels to the wxFoldPanelBar. The | |
54 | wxCaptionBar fires events to the parent (container of all panel items) when a sub-panel needs resizing (either folding | |
55 | or expanding). The fold or expand process is simply a resize of the panel so it looks like all controls on it are gone. | |
56 | All controls are still child of the wxFoldPanel they are located on. If they don't handle the event (and they won't) | |
57 | then the owner of the wxFoldPanelBar gets the events. This is what you need to handle the controls. There isn't much to it | |
58 | just a lot of calculations to see what panel belongs where. There are no sizers involved in the panels, everything is | |
59 | purely xy positioning. | |
60 | ||
61 | \section what_dp What can it do and what not? | |
62 | ||
63 | What it can do: | |
64 | ||
65 | - Run-time addition of panels (no deletion just yet) | |
66 | - Run time addition of controls to the panel (it will be resized accordingly) | |
67 | - Creating panels in collapsed mode or expanded mode | |
68 | - Various modes of caption behaviour and filling to make it more appealing | |
69 | - Panels can be folded and collapsed (or all of them) to allow more space | |
70 | ||
71 | What it cannot do: | |
72 | ||
73 | - Selection of a panel like in a list ctrl | |
74 | - Dragging and dropping the panels | |
75 | - Re-ordering the panels (not yet) | |
76 | ||
77 | Special thanks to Julian Smart et al. for making this great toolkit! | |
78 | */ | |
79 |