home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
sibylft1.zip
/
DOC.DAT
/
DOC
/
SPCC
/
DOCKTOOL.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1997-04-07
|
5KB
|
138 lines
{╔══════════════════════════════════════════════════════════════════════════╗
║ ║
║ Sibyl Portable Component Classes ║
║ ║
║ Copyright (c) 1995,97 SpeedSoft Germany, All rights reserved. ║
║ ║
╚══════════════════════════════════════════════════════════════════════════╝}
UNIT DockTool;
INTERFACE
USES Messages,SysUtils,Classes,Forms,StdCtrls,ExtCtrls;
TYPE
{$M+}
TDockingEvent=PROCEDURE(Sender:TObject;VAR TargetForm:TForm;
VAR NewAlign:TToolbarAlign) OF OBJECT;
{$M-}
TYPE
TDockingToolbar=CLASS(TPanel)
PRIVATE
FAutoAlign:BOOLEAN;
FAutoWrap:BOOLEAN;
FMargin:LONGINT;
FDesignMode:BOOLEAN;
FResizing:BOOLEAN;
FDragging:BOOLEAN;
FPanelForm:TForm;
FDockingForm:TForm;
FToolAlign:TToolbarAlign;
FToolbarOffset:LONGINT;
PanelBorderSize:LONGINT;
PanelTitleHeight:LONGINT;
OldFgMode:TPenMode;
OldLineWidth:LONGINT;
OldLineType:TPenStyle;
InitDrag:TPoint;
CurDrag:TPoint;
TryDocking:BOOLEAN;
DraggingAborted:BOOLEAN;
LastActiveControl:TControl;
LastDockLeft:LONGINT;
LastDockBottom:LONGINT;
LastDockWidth:LONGINT;
LastDockHeight:LONGINT;
UsePanelFormSize:BOOLEAN;
FOnChange:TNotifyEvent;
FOnDocking:TDockingEvent;
PROCEDURE UpdateTrackSize;
PROCEDURE SetAutoWrap(Value:BOOLEAN);
PROCEDURE SetMargin(Value:LONGINT);
//PROCEDURE SetDesignMode(Value:BOOLEAN);
FUNCTION GetDocking:BOOLEAN;
PROCEDURE SetDocking(Value:BOOLEAN);
FUNCTION GetDockingForm:TForm;
PROCEDURE UndockPanel;
PROCEDURE DockPanel(ParentToolbar:TToolbar);
PROCEDURE DesktopPanel;
PROCEDURE SetToolAlign(Value:TToolbarAlign);
PROCEDURE SetDockingForm(AForm:TForm);
FUNCTION GetWrappedSize(Docked:BOOLEAN;HorizToolbar:BOOLEAN;
VAR WrapWidth,WrapHeight:LONGINT):BOOLEAN;
FUNCTION GetToolbarMaxSize(ParentToolbar:TToolbar;NewSize:LONGINT):LONGINT;
PROCEDURE DrawDragFrame;
FUNCTION GetDragTarget(ptScreen:TPoint;VAR target:TRect):TControl;
FUNCTION GetTargetToolbarAlign(TargetForm:TForm; ptscreen:TPoint):TToolbarAlign;
PROCEDURE FormOnClose(Sender:TObject;VAR Action:TCloseAction);
PROTECTED
PROCEDURE SetupComponent;OVERRIDE;
PROCEDURE RealignControls;OVERRIDE;
PROCEDURE MouseDown(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROCEDURE MouseUp(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROCEDURE MouseMove(ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROCEDURE MouseDblClick(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
PROCEDURE ScanEvent(VAR Msg:TWMChar;VAR KeyCode:TKeyCode;RepeatCount:BYTE);OVERRIDE;
PROCEDURE Change;VIRTUAL;
PROCEDURE QueryDockingForm(VAR TargetForm:TForm;VAR NewAlign:TToolbarAlign);VIRTUAL;
//PROCEDURE DoEndDrag(Target:TObject;X,Y:LONGINT);OVERRIDE;
//PROCEDURE DragOver(Source:TObject;X,Y:LONGINT;State:TDragState;VAR Accept:BOOLEAN);OVERRIDE;
PROPERTY Align;
PROPERTY Alignment;
PROPERTY BevelInner;
PROPERTY BevelOuter;
PROPERTY BevelWidth;
PROPERTY BorderStyle;
PROPERTY BorderWidth;
PROPERTY Bottom;
PROPERTY Caption;
PROPERTY DragCursor;
PROPERTY DragMode;
PROPERTY Font;
PROPERTY Height;
PROPERTY Left;
PROPERTY ParentFont;
PROPERTY ParentPenColor;
PROPERTY PenColor;
PROPERTY Right;
PROPERTY TabOrder;
PROPERTY TabStop;
PROPERTY Top;
PROPERTY Visible;
PROPERTY Width;
PROPERTY ZOrder;
PROPERTY OnFontChange;
PUBLIC
DESTRUCTOR Destroy;OVERRIDE;
PROCEDURE InsertControl(AChild:TControl);OVERRIDE;
PROCEDURE RemoveControl(AChild:TControl);OVERRIDE;
PROCEDURE Show;OVERRIDE;
PROCEDURE SetWindowPos(NewLeft,NewBottom,NewWidth,NewHeight:LONGINT);OVERRIDE;
//PROCEDURE DragDrop(Source:TObject;X,Y:LONGINT);OVERRIDE;
//PROPERTY DesignMode:BOOLEAN read FDesignMode write SetDesignMode;
PROPERTY Docking:BOOLEAN read GetDocking write SetDocking;
PROPERTY DockingForm:TForm read GetDockingForm write SetDockingForm;
PUBLISHED
PROPERTY AutoWrap:BOOLEAN read FAutoWrap write SetAutoWrap;
PROPERTY Margin:LONGINT read FMargin write SetMargin;
PROPERTY ToolbarAlign:TToolbarAlign read FToolAlign write SetToolAlign;
PROPERTY OnChange:TNotifyEvent read FOnChange write FOnChange;
PROPERTY OnDocking:TDockingEvent read FOnDocking write FOnDocking;
END;
PROCEDURE WriteDockingToolbars;
PROCEDURE ReadDockingToolbars;
EXPORTS
TDockingToolbar,'Standard','';
IMPLEMENTATION