kexi
KDockSplitter Class Reference
#include <ksplitter.h>
Detailed Description
Like QSplitter but specially designed for dockwidgets stuff.
Definition at line 47 of file ksplitter.h.
Public Member Functions | |
KDockSplitter (QWidget *parent=0, const char *name=0, Orientation orient=Vertical, int pos=50) | |
virtual | ~KDockSplitter () |
void | activate (QWidget *c0, QWidget *c1=0L) |
void | deactivate () |
int | separatorPosInPercent () |
void | setSeparatorPosInPercent (int percent) |
int | separatorPos () const |
void | setSeparatorPos (int pos, bool do_resize=true) |
void | setSeparatorPosX (int pos, bool do_resize=false) |
virtual bool | eventFilter (QObject *, QEvent *) |
virtual bool | event (QEvent *) |
QWidget * | getFirst () const |
QWidget * | getLast () const |
QWidget * | getAnother (QWidget *w) const |
void | updateName () |
void | setOpaqueResize (bool b=true) |
bool | opaqueResize () const |
void | setKeepSize (bool b=true) |
bool | keepSize () const |
void | setForcedFixedWidth (KDockWidget *dw, int w) |
void | setForcedFixedHeight (KDockWidget *dw, int h) |
void | restoreFromForcedFixedSize (KDockWidget *dw) |
Orientation | orientation () |
Protected Member Functions | |
int | checkValue (int position) const |
int | checkValueOverlapped (int position, QWidget *child) const |
virtual void | resizeEvent (QResizeEvent *ev) |
Friends | |
class | KDockContainer |
Constructor & Destructor Documentation
KDockSplitter::KDockSplitter | ( | QWidget * | parent = 0 , |
|
const char * | name = 0 , |
|||
Orientation | orient = Vertical , |
|||
int | pos = 50 | |||
) |
Constructor.
- Parameters:
-
parent parent widget name name orient orientation. Either Vertical
orHorizontal
pos procentual position of the splitter. Must be int [0...100].
Member Function Documentation
void KDockSplitter::activate | ( | QWidget * | c0, | |
QWidget * | c1 = 0L | |||
) |
Initialize the splitter.
If c0
or c1
is 0L the child will not be replaced. So if you want to change c1
and not change c0, you'd call activate(0L,new_widget)
;
- Parameters:
-
c0 the widget on top/left c1 the widget on borrom/right
int KDockSplitter::checkValue | ( | int | position | ) | const [protected] |
Make sure the splitter position is not out of bounds.
- Parameters:
-
position the current position
- Returns:
- a (new) valid splitter position.
int KDockSplitter::checkValueOverlapped | ( | int | position, | |
QWidget * | child | |||
) | const [protected] |
Make sure the splitter position is not out of bounds.
It has to honor all child widgets' mimimumSize.
- Parameters:
-
position current divider position child the overlapping child
- Returns:
- the (new) splitter position.
void KDockSplitter::deactivate | ( | ) |
Disables the splitter.
virtual bool KDockSplitter::eventFilter | ( | QObject * | , | |
QEvent * | ||||
) | [virtual] |
The eventfilter installed on the divider
processes all splitter resizing events.
QWidget* KDockSplitter::getAnother | ( | QWidget * | w | ) | const |
If w
is child0, return child1, otherwise child0.
- Returns:
- the other child widget
QWidget* KDockSplitter::getFirst | ( | ) | const [inline] |
QWidget* KDockSplitter::getLast | ( | ) | const [inline] |
Orientation KDockSplitter::orientation | ( | ) | [inline] |
virtual void KDockSplitter::resizeEvent | ( | QResizeEvent * | ev | ) | [protected, virtual] |
The resize event resizes child0
, child1
and the divider
.
The new sizes are dependant of
- whether
child0
orchild1
is a KDockContainer - the current mode which may be
- Closed
- Overlapped (opened)
- Nonoverlap (opened)
- Parameters:
-
ev the resize Event. If ev=0L
the user changed the mode (for example from overlap to nonoverlap mode).
int KDockSplitter::separatorPos | ( | ) | const |
Return the separator position in the range [0.
.100000] To get the separator position in procent (%), call separatorPositionInPercent()!
- Returns:
- high resolution separator position in range [0..100000], where 100000 is 100%.
int KDockSplitter::separatorPosInPercent | ( | ) | [inline] |
Return the separator position in percent (%), so the range is [0.
.100]
- Returns:
- separator position in percent
Definition at line 79 of file ksplitter.h.
void KDockSplitter::setKeepSize | ( | bool | b = true |
) |
If b
is true, the splitter will keep its size on resize events.
If no KDockContainer
is around, always the left child0 will be fixed size.
void KDockSplitter::setOpaqueResize | ( | bool | b = true |
) |
Set opaque flag.
- Parameters:
-
b if true, both child widgets are resized immediately, if false, the widgets only resize on MouseUpEvent.
void KDockSplitter::setSeparatorPos | ( | int | pos, | |
bool | do_resize = true | |||
) |
set separator position.
- Parameters:
-
pos the separator position in range [0..100000]. 100000 is 100%. do_resize true by default
void KDockSplitter::setSeparatorPosInPercent | ( | int | percent | ) | [inline] |
Set the separator position in percent (%), so the range must be [0.
.100]
- Parameters:
-
percent separator position in percent
Definition at line 92 of file ksplitter.h.
void KDockSplitter::setSeparatorPosX | ( | int | pos, | |
bool | do_resize = false | |||
) |
For usage from outside.
If the splitter is in fixed position when called, the value of pos
will be saved and used when the splitter is restored. If do_resize
is true, the size will be changed unless the splitter is in fixed mode.
The documentation for this class was generated from the following file: