Post on 05-Dec-2014
description
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.