Docking from a z in visual fox pro 9

Post on 05-Dec-2014

963 views 0 download

description

Session on VFP docking features I gave in Frankfurt, 2004 I think.

transcript

Docking from A-Z in Visual Docking from A-Z in Visual FoxPro 9.0FoxPro 9.0

Mike FeltmanMike Feltman

Who Am IWho Am I

• Presient F1 TechnologiesPresient F1 Technologies• Visual FoxExpress DeveloperVisual FoxExpress Developer• mikefeltman@f1tech.commikefeltman@f1tech.com• Visual FoxPro DinosaurVisual FoxPro Dinosaur

AgendaAgenda

• Docking for the developerDocking for the developer– Docking in the VFP IDEDocking in the VFP IDE– Docking with CodeDocking with Code

• Docking in ApplicationsDocking in Applications– Dockable ToolbarsDockable Toolbars– Dockable FormsDockable Forms– Forms vs. ToolbarsForms vs. Toolbars– Practical Applications?Practical Applications?

The Mechanics of DockingThe Mechanics of Docking

• Docking WindowsDocking Windows• Docking ToolbarsDocking Toolbars• Tab DockingTab Docking• Link DockingLink Docking

Dockable IDE WindowsDockable IDE Windows

• Command Window, Data Session, Command Window, Data Session, Toolbox, etc.Toolbox, etc.

• Project ManagerProject Manager

““Non-Dockable” IDE Non-Dockable” IDE WindowsWindows

• Object Browser, Object Browser, • Task Pane, Task Pane, • Class Browser, Class Browser, • Component Gallery, Component Gallery, • Code ReferencesCode References• Task ListTask List

Programmatic Docking in the Programmatic Docking in the IDEIDE

• Non-VFP FormsNon-VFP Forms– DOCK WINDOWDOCK WINDOW

• VFP FormsVFP Forms– Form.DockableForm.Dockable

• WDOCKABLE()WDOCKABLE()• ADOCKSTATE()ADOCKSTATE()• SetIDE.prgSetIDE.prg

Docking in ApplicationsDocking in Applications

• Forms vs. ToolbarsForms vs. Toolbars• Tab & Link DockingTab & Link Docking• Events to the Rescue?Events to the Rescue?• BindEvents anyone?BindEvents anyone?

Forms vs. ToolbarsForms vs. Toolbars

• Autosizing Autosizing • Auto Arrangement Auto Arrangement • (ex1 & ex2)(ex1 & ex2)• Manual ResizingManual Resizing• Manual MovingManual Moving

Tab & Link DockingTab & Link Docking

• Support is automaticSupport is automatic• Cannot be turned offCannot be turned off• Ex3.prgEx3.prg

Events to the Rescue?Events to the Rescue?

• BeforeDockBeforeDock• AfterDockAfterDock• UndockUndock

The Dockposition PropertyThe Dockposition Property

• ––1 Not docked1 Not docked• 0 Top0 Top• 1 Left1 Left• 2 Right2 Right• 3 Bottom3 Bottom• 4 Tabbed (forms only)4 Tabbed (forms only)• 5 Link-docked (forms only)5 Link-docked (forms only)

The Dockable PropertyThe Dockable Property

• 0 – not dockable0 – not dockable• 1 – supports docking and is dockable 1 – supports docking and is dockable

(ex7 & 8 show quirk)(ex7 & 8 show quirk)• 2 – supports docking but is not 2 – supports docking but is not

currently dockablecurrently dockable

More on Autosizing & More on Autosizing & ArrangementArrangement

• Form autosizing detailsForm autosizing details– Fills in “docking in direction”Fills in “docking in direction”– No other adjustmentNo other adjustment– Cannot change via codeCannot change via code

• ToolbarsToolbars– Only stretches as necessaryOnly stretches as necessary– Height/Width adjustedHeight/Width adjusted– Can fill with containerCan fill with container

Practical ExamplesPractical Examples

• Application “Navigator”Application “Navigator”• Task PanesTask Panes• Tip of the DayTip of the Day• ““Dock Target” desktopDock Target” desktop

ConclusionConclusion

• Docking support in the VFP IDE Docking support in the VFP IDE allows the developer to customize allows the developer to customize the IDE to be more productivethe IDE to be more productive

• There are some uses for docking in There are some uses for docking in applicationsapplications

• More control over docking is needed More control over docking is needed to make it really usable in to make it really usable in applicationsapplications

Thank you!Thank you!

Please remember to fill out Please remember to fill out your evaluation.your evaluation.