62 lines
1.8 KiB
C++
62 lines
1.8 KiB
C++
#ifndef _SPLITTER_SPLITTERWND_HPP_
|
|
#define _SPLITTER_SPLITTERWND_HPP_
|
|
#ifndef _COMMON_WINDOW_HPP_
|
|
#include <common/window.hpp>
|
|
#endif
|
|
#ifndef _COMMON_CALLBACK_HPP_
|
|
#include <common/callback.hpp>
|
|
#endif
|
|
#ifndef _COMMON_BRUSH_HPP_
|
|
#include <common/brush.hpp>
|
|
#endif
|
|
#ifndef _COMMON_PEN_HPP_
|
|
#include <common/pen.hpp>
|
|
#endif
|
|
|
|
class SplitterWnd : public Window
|
|
{
|
|
public:
|
|
enum {SplitRatio=50,SplitWidth=8};
|
|
SplitterWnd(GUIWindow &parent,GUIWindow &pane1,GUIWindow &pane2,int splitRatio=SplitRatio);
|
|
virtual ~SplitterWnd();
|
|
void moveSplitter(int xLoc);
|
|
private:
|
|
enum {ControlID=5000};
|
|
void registerClass(void);
|
|
void insertHandlers(void);
|
|
void removeHandlers(void);
|
|
CallbackData::ReturnType createHandler(CallbackData &cbData);
|
|
CallbackData::ReturnType paintHandler(CallbackData &cbData);
|
|
CallbackData::ReturnType leftButtonDownHandler(CallbackData &cbData);
|
|
CallbackData::ReturnType leftButtonUpHandler(CallbackData &cbData);
|
|
CallbackData::ReturnType mouseMoveHandler(CallbackData &cbData);
|
|
CallbackData::ReturnType captureChangedHandler(CallbackData &cbData);
|
|
CallbackData::ReturnType destroyHandler(CallbackData &cbData);
|
|
CallbackData::ReturnType parentSizeHandler(CallbackData &cbData);
|
|
void sizeControls(void);
|
|
|
|
Callback<SplitterWnd> mCreateHandler;
|
|
Callback<SplitterWnd> mPaintHandler;
|
|
Callback<SplitterWnd> mLeftButtonDownHandler;
|
|
Callback<SplitterWnd> mLeftButtonUpHandler;
|
|
Callback<SplitterWnd> mMouseMoveHandler;
|
|
Callback<SplitterWnd> mCaptureChangedHandler;
|
|
Callback<SplitterWnd> mDestroyHandler;
|
|
Callback<SplitterWnd> mSizeHandler;
|
|
SmartPointer<GUIWindow> mParent;
|
|
SmartPointer<GUIWindow> mPane1;
|
|
SmartPointer<GUIWindow> mPane2;
|
|
|
|
Pen mLightPen;
|
|
Pen mHiLightPen;
|
|
Pen mShadowPen;
|
|
Pen mDkShadowPen;
|
|
int mSplitRatio;
|
|
int mSplitWidth;
|
|
int mDragStart;
|
|
int mDragx;
|
|
Brush mBkGndBrush;
|
|
static char smszClassName[];
|
|
};
|
|
#endif
|