kexi

#include <ksplitter.h>

Inherits TQWidget.

Public Member Functions

 KDockSplitter (TQWidget *parent=0, const char *name=0, TQt::Orientation orient=TQt::Vertical, int pos=50)
 
void activate (TQWidget *c0, TQWidget *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 (TQObject *, TQEvent *)
 
virtual bool event (TQEvent *)
 
TQWidget * getFirst () const
 
TQWidget * getLast () const
 
TQWidget * getAnother (TQWidget *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)
 
TQt::Orientation orientation ()
 

Protected Member Functions

int checkValue (int position) const
 
int checkValueOverlapped (int position, TQWidget *child) const
 
virtual void resizeEvent (TQResizeEvent *ev)
 

Friends

class KDockContainer
 

Detailed Description

Like TQSplitter but specially designed for dockwidgets stuff.

Definition at line 47 of file ksplitter.h.

Constructor & Destructor Documentation

◆ KDockSplitter()

KDockSplitter::KDockSplitter ( TQWidget *  parent = 0,
const char *  name = 0,
TQt::Orientation  orient = TQt::Vertical,
int  pos = 50 
)

Constructor.

Parameters
parentparent widget
namename
orientorientation. Either TQt::Vertical or TQt::Horizontal
posprocentual position of the splitter. Must be int [0...100].

◆ ~KDockSplitter()

virtual KDockSplitter::~KDockSplitter ( )
inlinevirtual

Definition at line 60 of file ksplitter.h.

Member Function Documentation

◆ activate()

void KDockSplitter::activate ( TQWidget *  c0,
TQWidget *  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
c0the widget on top/left
c1the widget on borrom/right

◆ checkValue()

int KDockSplitter::checkValue ( int  position) const
protected

Make sure the splitter position is not out of bounds.

Parameters
positionthe current position
Returns
a (new) valid splitter position.

◆ checkValueOverlapped()

int KDockSplitter::checkValueOverlapped ( int  position,
TQWidget *  child 
) const
protected

Make sure the splitter position is not out of bounds.

It has to honor all child widgets' mimimumSize.

Parameters
positioncurrent divider position
childthe overlapping child
Returns
the (new) splitter position.

◆ deactivate()

void KDockSplitter::deactivate ( )

Disables the splitter.

◆ eventFilter()

virtual bool KDockSplitter::eventFilter ( TQObject *  ,
TQEvent *   
)
virtual

The eventfilter installed on the divider processes all splitter resizing events.

◆ getAnother()

TQWidget * KDockSplitter::getAnother ( TQWidget *  w) const

If w is child0, return child1, otherwise child0.

Returns
the other child widget

◆ getFirst()

TQWidget * KDockSplitter::getFirst ( ) const
inline
Returns
the top/left child widget.

Definition at line 139 of file ksplitter.h.

◆ getLast()

TQWidget * KDockSplitter::getLast ( ) const
inline
Returns
the bottom/right child widget.

Definition at line 143 of file ksplitter.h.

◆ orientation()

TQt::Orientation KDockSplitter::orientation ( )
inline

The orientation is either TQt::Horizontal or TQt::Vertical.

Definition at line 174 of file ksplitter.h.

◆ resizeEvent()

virtual void KDockSplitter::resizeEvent ( TQResizeEvent *  ev)
protectedvirtual

The resize event resizes child0, child1 and the divider.

The new sizes are dependant of

  • whether child0 or child1 is a KDockContainer
  • the current mode which may be
    • Closed
    • Overlapped (opened)
    • Nonoverlap (opened)

So there are 3*2=6 different modes we have to face.

Parameters
evthe resize Event. If ev=0L the user changed the mode (for example from overlap to nonoverlap mode).

◆ separatorPos()

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%.

◆ separatorPosInPercent()

int KDockSplitter::separatorPosInPercent ( )
inline

Return the separator position in percent (%), so the range is [0..100].

Returns
separator position in percent

Definition at line 80 of file ksplitter.h.

◆ setKeepSize()

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.

◆ setOpaqueResize()

void KDockSplitter::setOpaqueResize ( bool  b = true)

Set opaque flag.

Parameters
bif true, both child widgets are resized immediately, if false, the widgets only resize on MouseUpEvent.

◆ setSeparatorPos()

void KDockSplitter::setSeparatorPos ( int  pos,
bool  do_resize = true 
)

set separator position.

Parameters
posthe separator position in range [0..100000]. 100000 is 100%.
do_resizetrue by default

◆ setSeparatorPosInPercent()

void KDockSplitter::setSeparatorPosInPercent ( int  percent)
inline

Set the separator position in percent (%), so the range must be [0..100].

Parameters
percentseparator position in percent

Definition at line 93 of file ksplitter.h.

◆ setSeparatorPosX()

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.

Friends And Related Symbol Documentation

◆ KDockContainer

friend class KDockContainer
friend

Definition at line 177 of file ksplitter.h.


The documentation for this class was generated from the following file: