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: doc_mainpage.h 28600 2004-08-03 11:55:18Z ABX $ 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 80