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