Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the...
Transcript of Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the...
![Page 1: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/1.jpg)
Pollock
PreparingFor Pollock
![Page 2: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/2.jpg)
Preparing For PollockPreparing For Pollock
The Future of theThe Future of theVisualWorks GUIVisualWorks GUI
Copyright © 2002, Cincom Systems, Inc.
Number 1, 1950 (Lavender Mist)
Jackson Pollock 1912-1956
![Page 3: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/3.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Preparing For PollockPreparing For Pollock
ÿWhy a new GUI FrameworkÿPollock Philosophy and GoalsÿThe PathÿThe MetaphorÿThe BasicsÿPollock & The Trigger Events FrameworkÿModels & ValueEvents
![Page 4: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/4.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Preparing For PollockPreparing For Pollock
ÿPollock & DragDropÿPollock & Edit KeysÿCoding Today With The Future In MindÿPollock ToolsÿBuilding A New Widget – An ExampleÿQ&A
![Page 5: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/5.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Why a new GUI FrameworkWhy a new GUI Framework
ÿWhat needs to be obsoleteÿWrappersÿLook Specific WidgetsÿBall Of Mud ControllersÿStatic Edit KeysÿFragile & Noisy Change/Updates in the GutsÿDo Too Much Builder
![Page 6: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/6.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Why a new GUI FrameworkWhy a new GUI Framework
ÿWhat needs to be addedÿConfigurable HotkeysÿDynamic Look ChangingÿStupid ControllersÿFull Use of the Trigger Event SystemÿSeparate Builder and Widget InventoryÿE-Z Developer Widget CreationÿE-Z Developer Widget Extension Capability
![Page 7: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/7.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Why a new GUI FrameworkWhy a new GUI Framework
ÿWidgets In GeneralÿOut of the box they need
ÿTo Do MoreÿTo Do It FasterÿTo Do It BetterÿWhere Required: To Do It More Platform Faithfully
ÿAnd if not:ÿE-Z To Make Them Do It
![Page 8: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/8.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Wrappers Today
MenuBar… ToolBar…
Visual LauncherWindow
ReComp
BoundedW
Composite
SpecW
BoundedW
BorderW
BoundedW
-ScrollW
-Text
BorderedW
Composite
BoundedW
-Button
BoundedW
-Button
BoundedW
-ScrollBar
What needs to be obsolete:What needs to be obsolete:
![Page 9: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/9.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
What needs to be obsolete:What needs to be obsolete:Wrappers TodayWrappers Today
0102030405060708090
1st Qtr 2nd Qtr 3rd Qtr 4th Qtr
EastWestNorth
![Page 10: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/10.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
What needs to be obsolete:What needs to be obsolete:
ÿWrappersÿSpecWrappers: Hold on to too much runtime
information, waste space with the restÿBounded, Bounding, Bordered… Baloney!ÿScrollbars : The result of composition run
rampantÿMenus : Not much betterÿBounds calculation : The progenitor of
modern C obfuscation contests
![Page 11: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/11.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
What needs to be obsolete:What needs to be obsolete:
ÿLook Specific WidgetsÿCan’t change their look on the fly without
rebuilding whole windowÿComplex build rules (<widget>:into:)ÿForces duplicated build codeÿCommingled common and look specific code
![Page 12: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/12.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
What needs to be obsolete:What needs to be obsolete:
ÿBall Of Mud ControllersÿControllers have lost their “MVC” meaningÿThey have become sophomoricÿBecause of wrappers are involved in
downcasting & upcasting eventsÿKnows too much about view
![Page 13: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/13.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
What needs to be obsolete:What needs to be obsolete:
ÿStatic Edit KeysÿControllers do too muchÿControllers contain too much feel specific
codeÿDispatch tables are code basedÿThe Developer knows best (i.e. least)
![Page 14: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/14.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
What needs to be obsolete:What needs to be obsolete:
ÿFragile & Noisy Change/Updates in the GutsÿAll dependents get all update information, even
when they don’t care (which in the guts of the GUI,is most of the time)
ÿUpdates fling up and down the wrapper hierarchyÿChanging models and views is fraught with
danger, making existing Widgets fragileÿDebugging is a nightmare
![Page 15: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/15.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
What needs to be obsolete:What needs to be obsolete:
ÿDo Too Much BuilderÿBuilds then sticks aroundÿ“self builder componentAt:” (‘nuff said!)
ÿCan’t properly get nested components (sub-canvases)
ÿThrows out important build time information
![Page 16: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/16.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
What needs to be added (redux):What needs to be added (redux):
ÿConfigurable HotkeysÿDynamic Look ChangingÿStupid ControllersÿFull Use of the Trigger Event SystemÿSeparate Builder and Widget InventoryÿE-Z Developer Widget CreationÿE-Z Developer Widget Extension
Capability
![Page 17: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/17.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Pollock Philosophy and GoalsPollock Philosophy and GoalsÿGoals
ÿMust be more accessible to both novice andexpert developers
ÿMust be more modularÿMust be more adaptable to new looks and
feelsÿMust have tools to migrate from old
frameworkÿMust have comprehensive unit testsÿMust be developed “Out In The Open”
![Page 18: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/18.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Pollock Philosophy and GoalsPollock Philosophy and GoalsÿPhilosophy : XP (as much as possible)
ÿ Make it work,Make it right,Make it fast(in that order)
ÿYou aren’t going to need itÿThe simplest thing that can possibly workÿLet the code tell me what to doÿTest firstÿContinuous integration
![Page 19: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/19.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Visual Launcher under PollockVisual Launcher under Pollock
TextEdit
MenuBar Toolbar
Window
![Page 20: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/20.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The PathThe PathÿBeta 1: VW 7
ÿApplicationWindow, Button, Label & ImageÿSimple layouts (OriginExtent, Alignment)ÿWin9x, MacOSX & Motif looksÿBuild, Read & Write from XML and ArrayÿDTD for XMLÿWindow opening stylesÿFull Trigger Event usageÿBuilder, UserInterface, WidgetInventory
![Page 21: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/21.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The PathThe Path
ÿBeta 2 : VW 7.1ÿCheckBoxÿRadioÿInputFieldÿListÿTextEdit
![Page 22: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/22.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The PathThe Path
ÿBeta 3 : VW 7.2ÿMenu, DropDown (list and menu), Grid (Table
& Dataset combined), Dialog, Toolbar &Toolbar panes, TreeView, TabControl,GroupBox
ÿDragDropÿFractional LayoutsÿUIPainter written in Pollock
![Page 23: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/23.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The PathThe PathÿProduction 1 : VW 7.3
ÿSubpaneHolder, Resizer, SpinButton, Divider,ClickWidget, Region, Progress, Slider
ÿUIPainter, MenuEditor, ToolbarEditorÿTranslation & Conversion toolsÿCo-exist in image with existing frameworkÿExisting framework default user interface
creation toolÿLast changes to existing frameworkÿAll widgets have at least basic functionality
![Page 24: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/24.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The PathThe Path
ÿProduction 2 : VW “7.4”ÿAll widgets have full capabilityÿWinXP Look & FeelÿSome internal tools use PollockÿCo-exist in image with existing frameworkÿPollock default new user interface creation
toolÿExisting framework “Soft” obsolete
![Page 25: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/25.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The PathThe Path
ÿProduction 3 : VW “7.5” or “11”ÿAll tools use PollockÿExisting framework “Hard” obsoleteÿOnly Pollock in imageÿExisting framework fully loadable from
Obsolete parcel
![Page 26: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/26.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The MetaphorThe Metaphor
ÿPanes & Frames, Agents & ArtistsÿPane
ÿLike a VisualComponentÿSome Panes have SubpanesÿWindow is a PaneÿScreen is a PaneÿAll subclass from AbstractPane
![Page 27: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/27.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The MetaphorThe MetaphorÿPanes & Frames, Agents & Artists (cont.)
ÿFrameÿLike a Layoutÿvisible boundsÿdisplayable boundsÿoriginÿ[alignment]ÿ[fractional positions]ÿ[relation positions]ÿ[viewport]
![Page 28: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/28.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The MetaphorThe Metaphor
ÿPanes & Frames, Agents & ArtistsÿAgent
ÿOffload behavior from controllerÿTell the artist when to drawÿMaintain most state (visibility, enablement,
selected, pushedness, cursor position)ÿBehavior for mouse and keyboard (keyboard
processor, focus, “handler for mouse event”)
![Page 29: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/29.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The MetaphorThe Metaphor
ÿPanes & Frames, Agents & ArtistsÿArtist
ÿDoes all drawingÿInteracts with Agent and Pane to get information
about what to draw, and when
![Page 30: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/30.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The BasicsThe BasicsObject
AbstractPane AbstractDraw Frame
AbstractAgent AbstractArtist
ButtonAgent
RadioAgent
ButtonArtist
RadioArtist
……
LayoutFrameCompositePane DisplayLabel
Button
Radio
![Page 31: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/31.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The Basics : LooksThe Basics : Looks
ButtonArtist
MacOSXButtonArtist MotifButtonArtist Win95ButtonArtist
![Page 32: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/32.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The Basics : FeelsThe Basics : Feels
RadioAgent
MacOSXRadioAgent MotifRadioAgent Win95RadioAgent
![Page 33: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/33.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The BasicsThe Basics
ÿCreating, configuring and opening a window
| window |
window := Pollock.ScheduledWindow new.
window frame: ((WindowFrame new)
maximumSize: 400 @ 400;
openingPosition: 100 @ 100;
yourself).
window border: #etched.
window open
![Page 34: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/34.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The BasicsThe Basics
ÿCreating, configuring and adding a Pane
| window radio |
window := self openWindow.
radio := Radio new.
radio frame: (OriginExtentFrame origin: 10 @ 10 extent: 30 @ 30).
window addComponent: radio.
![Page 35: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/35.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The BasicsThe BasicsÿLabels are NOT part of panes, but can be
subpanes| window radio displayLabel labelModel |
window := self openWindow.
radio := self createRadio.
displayLabel := Pollock.DisplayLabel new.
labelModel := Pollock.Label string: 'Hi&Ho'.
displayLabel label: labelModel.
displayLabel frame origin: 0 @ 0.
radio addComponent: displayLabel.
window addComponent: radio
![Page 36: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/36.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The BasicsThe Basics
ÿCompositePanesÿAny subclass can have subpanesÿCan have any number of subpanesÿCan have any kind of subpanes
ÿCommon subpanesÿButtons : Labels and DisplayImagesÿRadios : Labels
![Page 37: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/37.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The BasicsThe Basics
ÿControllers are much more dumbÿControllers and Trackers still existÿNew hierarchyÿForward all events to the Agent
ÿThe Agent holds the Keyboard ProcessorÿBecause of compatibility, controller passes it
to the Agent
![Page 38: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/38.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The BasicsThe BasicsÿDecorations and Borders
ÿDecorations : Things inside a paneÿScrollbars in an Advanced Text paneÿThe “3D Look / Raised” portion of a ButtonÿClip the drawable bounds
ÿBorders : Things that surround a paneÿEffectively clip the visible bounds
ÿMost panes have bordersÿSome panes have decorationsÿBorders and Decorations have Artists
![Page 39: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/39.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The BasicsThe Basics
ÿA Button with aBorder (ridged) and adecoration:
ÿA Button with aBorder (ridged) – Nodecoration:
![Page 40: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/40.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The BasicsThe Basics
ÿActionDisplay pane
Action Part Display Part
ÿExamples:
Action Part Display Part“Display Left”“Display Right”
Display Right
Display Left
Spin Button
Drop Down
![Page 41: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/41.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The BasicsThe Basics
ÿAgents, Artists and Frames are pluggable atruntime
ÿUpdate/Change behavior is banned from thePollock internals
ÿWidgetPolicy, BorderPolicy, LookPolicyÿFeelPolicy replaced by KeyboardPolicyÿNew Controller hierarchyÿNew ScheduledWindow hierarchy
![Page 42: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/42.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
New Controller HierarchyNew Controller Hierarchy
Object
PaneController
KeyboardController
LabelController ToggleController
ButtonController ActionDisplayController
![Page 43: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/43.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
NewNew ScheduledWindowScheduledWindow hierarchyhierarchy
UI.Window
Pollock.ScheduledWindow
Pollock.ApplicationWindow Pollock.DialogWindow
![Page 44: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/44.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The BasicsThe Basics –– Widget ChangesWidget Changes
ÿGridÿCombines Dataset & TableÿWill support Dataset models, as well as Table
modelsÿWill provide Multi-Column list mode
![Page 45: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/45.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The BasicsThe Basics –– Widget ChangesWidget Changes
ÿDropDownÿCombines DropDown, Combo and
MenuButtonÿWill support Lists as well as Menus as models
![Page 46: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/46.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
The BasicsThe Basics –– Unsure FutureUnsure Future
ÿTabControlÿWill existÿShould it add “Minor” tabs (right and/or
bottom)?ÿShould it add “Stacked” tabs?
ÿNotebookÿNot scheduled to exist (should it?)
![Page 47: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/47.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Pollock & The Trigger Events FrameworkPollock & The Trigger Events Framework
ÿThe Trigger Events FrameworkÿFully fleshed out in VW 7ÿAll events ultimately triggered by “views”
ÿEvent CheckingÿAmbivalent vs. StrictÿObject – Default is AmbivalentÿViews & Panes – Default is Strict
ÿUsing it nowÿIn GeneralÿApplicationModel
![Page 48: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/48.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Trigger EventsTrigger Events –– Using it nowUsing it now
ÿGeneralÿeventTableÿcanTriggerEvent: anEventNameSymbolÿhasActionForEvent: anEventNameSymbolÿactionListForEvent: anEventNameSymbol
![Page 49: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/49.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Trigger EventsTrigger Events –– Using it nowUsing it nowÿGeneral
ÿwhen: anEventNameSymbol do: aBlockÿwhen: anEventNameSymbol evaluate: anActionÿwhen: anEventNameSymbol send: aSelectorSymbol
to: anObjectÿwhen: anEventNameSymbol send: aSelectorSymbol
to: anObject with: anArgumentObjectÿwhen: anEventNameSymbol send: aSelectorSymbol
to: anObject with: firstArgumentObject with:secondArgumentObject
ÿwhen: anEventNameSymbol send: aSelectorSymbolto: anObject withArguments: anArgumentCollection
ÿwhenAny:…
![Page 50: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/50.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Trigger EventsTrigger Events –– Using it nowUsing it now
ÿGeneralÿremoveAction: anAction forEvent:
anEventNameSymbolÿremoveActionsForEvent:
anEventNameSymbol
![Page 51: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/51.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Trigger EventsTrigger Events –– Using it nowUsing it nowÿApplicationModel
ÿwidget: aWidgetIDSymbol when: anEventSymbol do: aBlockÿwidget: aWidgetIDSymbol when: anEventSymbol evaluate:
anActionÿwidget: aWidgetIDSymbol when: anEventSymbol send: anAction
to: anObjectÿwidget: aWidgetIDSymbol when: anEventSymbol send: anAction
to: anObject with: anArgumentÿwidget: aWidgetIDSymbol when: anEventSymbol send: anAction
to: anObject with: firstArgument with: secondArgumentÿwidget: aWidgetIDSymbol when: anEventSymbol send: anAction
to: anObject withArguments: aCollection
![Page 52: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/52.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Trigger EventsTrigger Events –– Using it nowUsing it now
ÿNew behavior in Object>>changed:with:
changed: anAspectSymbol with: aParameter
"The receiver changed. The change is denoted by the argumentanAspectSymbol. Usually the argument is a Symbol that is part of the dependent'schange protocol, that is, some aspect of the object's behavior, and aParameter isadditional information. Inform all of the dependents."
self myDependents update: anAspectSymbol with: aParameter from: self.
anAspectSymbol isSymbol ifTrue: [self triggerEvent: anAspectSymbol]
![Page 53: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/53.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Models & ValueEventsModels & ValueEvents
ÿThe Model Hierarchy will not be usedÿReplaced by the EventModel Hierarchy
Object
EventModel
ValueEvent
local eventHandlers
Events Triggered:#changing#changed
“Global” EventHandlers
ÿþýýüûúùø÷ûöýûõôóôòõôòñðïî
![Page 54: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/54.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
PollockPollock –– New DragDrop SystemNew DragDrop SystemÿState driven engine
For single select lists, the following are the rule states.
1) If you click on an unselected item, and you do NOT move the mouse more than 2@2 whileyou have the mouse down, nothing happens until you release the mouse, at which time thetarget item is selected.
2) If you click on an unselected item, and you DO move the mouse more than 2@2, thetarget item is selected, and you are put into Drag mode for that item if it is turned on, if not,the selection changes as you drag the mouse over successive unselected items.
3) If you click on a selected item and do NOT move the mouse more than 2@2, nothinghappens until you release the mouse, at which time the target item is unselected.
4) If you click on a selected item and DO move the mouse more than 2@2, you are put intoDrag mode for that item if it is turned on, if not, the selection changes as you drag the mouseover successive unselected items (as in rule #2)
![Page 55: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/55.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
PollockPollock –– New DragDrop SystemNew DragDrop SystemÿState driven engine (continued)
For multi select lists, the following are the rule states.
1) If you click on an unselected item, and you do NOT move the mouse more than 2@2 whileyou have the mouse down, nothing happens until you release the mouse, at which time thetarget item is selected. (Rules of Shift & Ctrl apply to "items" selected)
2) If you click on an unselected item, and you DO move the mouse more than 2@2, the currentitem is selected and any additional items you drag the mouse over get added to the currentselections. (Rules of Shift & Ctrl apply to "items“ selected).
3) If you click on a selected item, and you do NOT move the mouse more than 2@2 while youhave the mouse down, nothing happens until you release the mouse, at which time the item isunselected. (Rules of Shift & Ctrl apply to "items“ selected/unselected)
4) If you click on a selected item, and you DO move the mouse more than 2@2, you are now inDrag mode if it is turned on (Rules of Ctrl & Shift apply to move/copy mode of Drag, and notto selection modes), if not, rule #2 kicks in.
![Page 56: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/56.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
PollockPollock –– New DragDrop SystemNew DragDrop System
ÿTrigger Event communication (based onVSE design)
ÿ“Select When Down” dies a miserabledeath
ÿConfigurableÿDefault – Right ButtonÿOptions : Left Button. Modifier Key
![Page 57: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/57.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
PollockPollock –– Edit KeysEdit Keysÿ“FeelPolicy” and the dispatch table as we know
it, goes the way of the dodoÿKeyboardPolicy
ÿBased on MagicKeys from Roel Wuyts (Thank You!)ÿAssignable by “Application”:
ÿTranscript – EditPolicy
ÿRefactoring Brrowser – CodePolicyÿMyApplication – MyApplicationPolicy
ÿCan have “Platform” versionsÿWindowsEditPolicy, WindowsCodePolicy
ÿMacEditPolicy, MacMyApplicationPolicy
![Page 58: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/58.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Coding with the future in mindCoding with the future in mind
ÿApplicationModelÿDon’t write “self builder componentAt:”ÿUse new (VW 7) protocols
ÿ#mainWindowÿ#windowMenuBarÿ#controllerAt: aWidgetIDSymbolÿ#widgetAt: aWidgetIDSymbolÿ#wrapperAt: aWidgetIDSymbol
![Page 59: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/59.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Coding with the future in mindCoding with the future in mind
ÿUse the Trigger Event system instead ofupdate/change
ÿStay away from the Smalltalk (“Default”)look
ÿStay away from the GUI guts, but if youmust: SUBCLASS!
![Page 60: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/60.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Pollock ToolsPollock Tools
ÿApplicationModel conversion toolÿWindowSpec conversion toolÿEnhanced MenuEditorÿCoolImage replaces ImageEditor (Thank
You Travis Griggs!)ÿToolbar Editor
![Page 61: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/61.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Pollock ToolsPollock ToolsÿEnhanced UIPainter
What is gone:-More than 3 tabs-Special tabs for color-Special tabs for layout-Apply & Cancel buttons
What is added:-Event configuring in Painter-Event coding in Painter-Save to XML external file-”Unlimited” Undo/Redo-Undo/Redo list-Widget Morphing-The Kitchen Sink
![Page 62: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/62.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Building A New WidgetBuilding A New Widget
ÿ Our Example : The Region Paneÿ What we have to do
1. Write a Test2. Create the Pane subclass3. Write a Test4. Create the Agent subclass5. Write a Test6. Create the Artist subclass
![Page 63: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/63.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
PanePane –– Required MethodsRequired Methods
ÿagentClassÿartistClassÿdefaultControllerClassÿframeClassÿgetController
(because defaultControllerClass is nil)ÿouterExtentChanged: aPoint
![Page 64: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/64.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
First UsesFirst UsesopenWindowWithRegion
self openWindow.
region := Region new.
region frame: (OriginExtentFrame origin: 10 @ 10 extent: 100 @ 100).
window addComponent: region
openWindowWithRegionWithBorder
self openWindow.
region := Region new.
region frame: (OriginExtentFrame origin: 10 @ 10 extent: 100 @ 100).
region border: #ridged.
window addComponent: region
![Page 65: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/65.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
Fleshing It OutFleshing It Out
ÿrectangle instance variable (Pane)ÿdrawOn: (Artist)ÿbackground (Artist & Pane)ÿlineSize, lineColor, fillColor (Aritist &
Pane)ÿvisible, beVisible: (Agent & Pane)
![Page 66: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/66.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
On your ownOn your own
ÿPlatform looks (if any)ÿAdditional shapes
![Page 67: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/67.jpg)
Copyright © 2002, Cincom Systems, Inc.
PollockPollock
![Page 68: Preparing For PollockPollock Preparing For Pollock. Preparing For Pollock The Future of the VisualWorks GUI Copyright © 2002, Cincom Systems, Inc. Number 1, 1950 (Lavender Mist)](https://reader030.fdocuments.in/reader030/viewer/2022040205/5f2c5035a785f91eac766d24/html5/thumbnails/68.jpg)
Pollock
2002 Cincom Systems, Inc.All Rights Reserved
Developed in the U.S.A.CINCOM, , and The Smart Choice are trademarks or registered trademarks of Cincom Systems, Inc
All other trademarks belong to their respective companies.