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 >
Pascal/Delphi Source File  |  1997-04-07  |  5KB  |  138 lines

  1.  
  2. {╔══════════════════════════════════════════════════════════════════════════╗
  3.  ║                                                                          ║
  4.  ║     Sibyl Portable Component Classes                                     ║
  5.  ║                                                                          ║
  6.  ║     Copyright (c) 1995,97 SpeedSoft Germany,   All rights reserved.      ║
  7.  ║                                                                          ║
  8.  ╚══════════════════════════════════════════════════════════════════════════╝}
  9.  
  10. UNIT DockTool;
  11.  
  12. INTERFACE
  13.  
  14. USES Messages,SysUtils,Classes,Forms,StdCtrls,ExtCtrls;
  15.  
  16.  
  17. TYPE
  18.     {$M+}
  19.     TDockingEvent=PROCEDURE(Sender:TObject;VAR TargetForm:TForm;
  20.          VAR NewAlign:TToolbarAlign) OF OBJECT;
  21.     {$M-}
  22.  
  23. TYPE
  24.     TDockingToolbar=CLASS(TPanel)
  25.       PRIVATE
  26.          FAutoAlign:BOOLEAN;
  27.          FAutoWrap:BOOLEAN;
  28.          FMargin:LONGINT;
  29.          FDesignMode:BOOLEAN;
  30.          FResizing:BOOLEAN;
  31.          FDragging:BOOLEAN;
  32.          FPanelForm:TForm;
  33.          FDockingForm:TForm;
  34.          FToolAlign:TToolbarAlign;
  35.          FToolbarOffset:LONGINT;
  36.          PanelBorderSize:LONGINT;
  37.          PanelTitleHeight:LONGINT;
  38.          OldFgMode:TPenMode;
  39.          OldLineWidth:LONGINT;
  40.          OldLineType:TPenStyle;
  41.          InitDrag:TPoint;
  42.          CurDrag:TPoint;
  43.          TryDocking:BOOLEAN;
  44.          DraggingAborted:BOOLEAN;
  45.          LastActiveControl:TControl;
  46.          LastDockLeft:LONGINT;
  47.          LastDockBottom:LONGINT;
  48.          LastDockWidth:LONGINT;
  49.          LastDockHeight:LONGINT;
  50.          UsePanelFormSize:BOOLEAN;
  51.          FOnChange:TNotifyEvent;
  52.          FOnDocking:TDockingEvent;
  53.          PROCEDURE UpdateTrackSize;
  54.          PROCEDURE SetAutoWrap(Value:BOOLEAN);
  55.          PROCEDURE SetMargin(Value:LONGINT);
  56.          //PROCEDURE SetDesignMode(Value:BOOLEAN);
  57.          FUNCTION GetDocking:BOOLEAN;
  58.          PROCEDURE SetDocking(Value:BOOLEAN);
  59.          FUNCTION GetDockingForm:TForm;
  60.          PROCEDURE UndockPanel;
  61.          PROCEDURE DockPanel(ParentToolbar:TToolbar);
  62.          PROCEDURE DesktopPanel;
  63.          PROCEDURE SetToolAlign(Value:TToolbarAlign);
  64.          PROCEDURE SetDockingForm(AForm:TForm);
  65.          FUNCTION GetWrappedSize(Docked:BOOLEAN;HorizToolbar:BOOLEAN;
  66.                                  VAR WrapWidth,WrapHeight:LONGINT):BOOLEAN;
  67.          FUNCTION GetToolbarMaxSize(ParentToolbar:TToolbar;NewSize:LONGINT):LONGINT;
  68.          PROCEDURE DrawDragFrame;
  69.          FUNCTION GetDragTarget(ptScreen:TPoint;VAR target:TRect):TControl;
  70.          FUNCTION GetTargetToolbarAlign(TargetForm:TForm; ptscreen:TPoint):TToolbarAlign;
  71.          PROCEDURE FormOnClose(Sender:TObject;VAR Action:TCloseAction);
  72.       PROTECTED
  73.          PROCEDURE SetupComponent;OVERRIDE;
  74.          PROCEDURE RealignControls;OVERRIDE;
  75.          PROCEDURE MouseDown(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
  76.          PROCEDURE MouseUp(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
  77.          PROCEDURE MouseMove(ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
  78.          PROCEDURE MouseDblClick(Button:TMouseButton;ShiftState:TShiftState;X,Y:LONGINT);OVERRIDE;
  79.          PROCEDURE ScanEvent(VAR Msg:TWMChar;VAR KeyCode:TKeyCode;RepeatCount:BYTE);OVERRIDE;
  80.          PROCEDURE Change;VIRTUAL;
  81.          PROCEDURE QueryDockingForm(VAR TargetForm:TForm;VAR NewAlign:TToolbarAlign);VIRTUAL;
  82.          //PROCEDURE DoEndDrag(Target:TObject;X,Y:LONGINT);OVERRIDE;
  83.          //PROCEDURE DragOver(Source:TObject;X,Y:LONGINT;State:TDragState;VAR Accept:BOOLEAN);OVERRIDE;
  84.          PROPERTY Align;
  85.          PROPERTY Alignment;
  86.          PROPERTY BevelInner;
  87.          PROPERTY BevelOuter;
  88.          PROPERTY BevelWidth;
  89.          PROPERTY BorderStyle;
  90.          PROPERTY BorderWidth;
  91.          PROPERTY Bottom;
  92.          PROPERTY Caption;
  93.          PROPERTY DragCursor;
  94.          PROPERTY DragMode;
  95.          PROPERTY Font;
  96.          PROPERTY Height;
  97.          PROPERTY Left;
  98.          PROPERTY ParentFont;
  99.          PROPERTY ParentPenColor;
  100.          PROPERTY PenColor;
  101.          PROPERTY Right;
  102.          PROPERTY TabOrder;
  103.          PROPERTY TabStop;
  104.          PROPERTY Top;
  105.          PROPERTY Visible;
  106.          PROPERTY Width;
  107.          PROPERTY ZOrder;
  108.          PROPERTY OnFontChange;
  109.       PUBLIC
  110.          DESTRUCTOR Destroy;OVERRIDE;
  111.          PROCEDURE InsertControl(AChild:TControl);OVERRIDE;
  112.          PROCEDURE RemoveControl(AChild:TControl);OVERRIDE;
  113.          PROCEDURE Show;OVERRIDE;
  114.          PROCEDURE SetWindowPos(NewLeft,NewBottom,NewWidth,NewHeight:LONGINT);OVERRIDE;
  115.          //PROCEDURE DragDrop(Source:TObject;X,Y:LONGINT);OVERRIDE;
  116.          //PROPERTY DesignMode:BOOLEAN read FDesignMode write SetDesignMode;
  117.          PROPERTY Docking:BOOLEAN read GetDocking write SetDocking;
  118.          PROPERTY DockingForm:TForm read GetDockingForm write SetDockingForm;
  119.       PUBLISHED
  120.          PROPERTY AutoWrap:BOOLEAN read FAutoWrap write SetAutoWrap;
  121.          PROPERTY Margin:LONGINT read FMargin write SetMargin;
  122.          PROPERTY ToolbarAlign:TToolbarAlign read FToolAlign write SetToolAlign;
  123.          PROPERTY OnChange:TNotifyEvent read FOnChange write FOnChange;
  124.          PROPERTY OnDocking:TDockingEvent read FOnDocking write FOnDocking;
  125.     END;
  126.  
  127.  
  128. PROCEDURE WriteDockingToolbars;
  129. PROCEDURE ReadDockingToolbars;
  130.  
  131.  
  132. EXPORTS
  133.      TDockingToolbar,'Standard','';
  134.  
  135.  
  136. IMPLEMENTATION
  137.  
  138.