]> git.saurik.com Git - wxWidgets.git/blob - contrib/include/wx/foldbar/doc_mainpage.h
Renderer should only be used for GTK+ 2
[wxWidgets.git] / contrib / include / wx / foldbar / doc_mainpage.h
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