Added fl (frame layout) to wxWindows, from source tidied by Hans Van Leemputten <Hansvl@softhome.net>.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
119
contrib/include/wx/fl/panedrawpl.h
Normal file
119
contrib/include/wx/fl/panedrawpl.h
Normal file
@@ -0,0 +1,119 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: No names yet.
|
||||
// Purpose: Central header file for control-bar related classes
|
||||
//
|
||||
// Author: Aleksandras Gluchovas <mailto:alex@soften.ktu.lt>
|
||||
// Modified by:
|
||||
// Created: 06/09/98
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Aleksandras Gluchovas
|
||||
// Licence: wxWindows license
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __PANEDRAWPL_G__
|
||||
#define __PANEDRAWPL_G__
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "panedrawpl.h"
|
||||
#endif
|
||||
|
||||
#include "wx/fl/controlbar.h"
|
||||
|
||||
/*
|
||||
* Simple, but all-in-one plugin implementation. Resembles look & feel of
|
||||
* to MFC control-bars. Handles painting of pane and items in it.
|
||||
* Fires bar/layout customization event, when user right-clicks bar/pane.
|
||||
* Hooking an instance of this and row-layouting plugins per each pane,
|
||||
* would be enough for the frame layout to function properly.
|
||||
* (they are plugged in autimatically by wxFrameLayout class)
|
||||
*/
|
||||
|
||||
class cbPaneDrawPlugin : public cbPluginBase
|
||||
{
|
||||
public:
|
||||
DECLARE_DYNAMIC_CLASS( cbPaneDrawPlugin )
|
||||
protected:
|
||||
|
||||
// resizing bars/rows state variables
|
||||
bool mResizeStarted;
|
||||
bool mResizeCursorOn;
|
||||
wxPoint mDragOrigin;
|
||||
|
||||
cbBarInfo* mpDraggedBar; // also used when in bar-drag action
|
||||
cbRowInfo* mpResizedRow;
|
||||
|
||||
bool mRowHandleHitted;
|
||||
bool mIsUpperHandle;
|
||||
bool mBarHandleHitted;
|
||||
bool mIsLeftHandle;
|
||||
bool mBarContentHitted;
|
||||
|
||||
// contstraints for dragging the handle
|
||||
wxRect mHandleDragArea;
|
||||
bool mHandleIsVertical;
|
||||
int mHandleOfs;
|
||||
int mDraggedDelta;
|
||||
wxPoint mPrevPos;
|
||||
|
||||
// used for handling, start-draw-in-area events
|
||||
wxClientDC* mpClntDc;
|
||||
|
||||
cbDockPane* mpPane; // is set up temorary short-cut, while handling event
|
||||
|
||||
protected:
|
||||
// helpers
|
||||
void DrawDraggedHandle( const wxPoint& pos, cbDockPane& pane );
|
||||
|
||||
virtual void DrawPaneShade( wxDC& dc, int alignment );
|
||||
virtual void DrawPaneShadeForRow( cbRowInfo* pRow, wxDC& dc );
|
||||
|
||||
virtual void DrawUpperRowHandle( cbRowInfo* pRow, wxDC& dc );
|
||||
virtual void DrawLowerRowHandle( cbRowInfo* pRow, wxDC& dc );
|
||||
|
||||
virtual void DrawUpperRowShades( cbRowInfo* pRow, wxDC& dc, int level );
|
||||
virtual void DrawLowerRowShades( cbRowInfo* pRow, wxDC& dc, int level );
|
||||
|
||||
virtual void DrawBarInnerShadeRect( cbBarInfo* pBar, wxDC& dc );
|
||||
|
||||
virtual void DrawShade( int level, wxRect& rect, int alignment, wxDC& dc );
|
||||
virtual void DrawShade1( int level, wxRect& rect, int alignment, wxDC& dc );
|
||||
|
||||
inline void SetLightPixel( int x, int y, wxDC& dc );
|
||||
inline void SetDarkPixel ( int x, int y, wxDC& dc );
|
||||
|
||||
public:
|
||||
cbPaneDrawPlugin(void);
|
||||
|
||||
cbPaneDrawPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
|
||||
|
||||
virtual ~cbPaneDrawPlugin();
|
||||
|
||||
virtual cbPluginBase* Clone() { return new cbPaneDrawPlugin(0,0); }
|
||||
|
||||
// handlers for plugin-events
|
||||
|
||||
void OnLButtonDown( cbLeftDownEvent& event );
|
||||
void OnLDblClick ( cbLeftDClickEvent& event );
|
||||
void OnLButtonUp ( cbLeftUpEvent& event );
|
||||
void OnRButtonUp ( cbRightUpEvent& event );
|
||||
void OnMouseMove ( cbMotionEvent& event );
|
||||
|
||||
void OnDrawPaneBackground ( cbDrawPaneBkGroundEvent& event );
|
||||
void OnDrawPaneDecorations( cbDrawPaneDecorEvent& event );
|
||||
|
||||
void OnDrawRowDecorations ( cbDrawRowDecorEvent& event );
|
||||
void OnDrawRowHandles ( cbDrawRowHandlesEvent& event );
|
||||
void OnDrawRowBackground ( cbDrawRowBkGroundEvent& event );
|
||||
|
||||
void OnSizeBarWindow ( cbSizeBarWndEvent& event );
|
||||
void OnDrawBarDecorations ( cbDrawBarDecorEvent& event );
|
||||
void OnDrawBarHandles ( cbDrawBarHandlesEvent& event );
|
||||
|
||||
void OnStartDrawInArea ( cbStartDrawInAreaEvent& event );
|
||||
void OnFinishDrawInArea ( cbFinishDrawInAreaEvent& event );
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
#endif /* __PANEDRAWPL_G__ */
|
||||
|
Reference in New Issue
Block a user