+ All Categories
Home > Documents > Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct...

Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct...

Date post: 27-Sep-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
24
Gaucho an object-focused IDE Fernando Olivero Ph.D. Student University Of Lugano Friday, May 25, 12
Transcript
Page 1: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Gauchoan object-focused IDE

Fernando OliveroPh.D. Student

University Of Lugano

Friday, May 25, 12

Page 2: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

An object-focused IDE

Gaucho

Friday, May 25, 12

Page 3: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Gaucho

Morphic

VM

Pharo

Shapes

Friday, May 25, 12

Page 4: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Shapes Gaucho

Text

Friday, May 25, 12

Page 5: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes.

Shapes populate the Pampas,an infinite 2D Surface.

Gaucho

Friday, May 25, 12

Page 6: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

GauchoIn Gaucho, developers can create multiple Views of the system,

which can be persisted across Sessions.

Friday, May 25, 12

Page 7: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

DEMOProgramming with ShapesMethod Refactoring'sSystem ViewHome View Sessions

Friday, May 25, 12

Page 9: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Shapes Gaucho

Text

Friday, May 25, 12

Page 10: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Shapes: Prerequisites

VM... VM...Pharo

Code ModelKernel

Morphic

Graphics

Text

Friday, May 25, 12

Page 11: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

VM...

Pharo Morphic

OS EventVM Buffer EventUI Event

Event Handling

HandMorphSensor ...

Friday, May 25, 12

Page 12: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

VM...

Pharo Morphic

OS EventVM Buffer EventUI Event

Event Handling

HandMorphSensor ...

God Class

Friday, May 25, 12

Page 13: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Event Handling: Revisited

VM...

Pharo

MouseKeyboard

TabletOS EventVM Buffer EventUI Event

Display

MorphicUser

Interface Shapes

Friday, May 25, 12

Page 14: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Event Handling: Revisited

ui := GUserInterface new.

mouse := ui peripheralDeviceNamed: #mouse.mouse dettach.

ui switchDisplayTo: GHeadlessDisplay new.

ui install.

MouseDisplay

Headless Display

Keyboard

User Interface

Friday, May 25, 12

Page 15: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Peripheral Devices Revisited

Friday, May 25, 12

Page 16: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Shapes: Design

Scene Display

ShapeView

Friday, May 25, 12

Page 17: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Shapes

Shape

{cmd-a->select. cmd-b->dismiss}

Drawing:

CSS: Styles & Modes

KeyBindings:

Friday, May 25, 12

Page 18: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Shapes

Scene Shape

transform scene

4@4x245 o

shape

Friday, May 25, 12

Page 19: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Shapes

Scene

focusplane

shapes

View

sceneviewport

Friday, May 25, 12

Page 20: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Shapes Local Coordinates

10@10 214@4421 5@5

...

Display View Scene Shape100@100

Friday, May 25, 12

Page 21: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Pampas: Tiles

Friday, May 25, 12

Page 22: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

DEMOKeyboard based NavigationCorner Stitched LayoutNon-overlapping schemeMultiple Views

Friday, May 25, 12

Page 23: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Gaucho

VM

Pharo

Shapes Morphic

Nautilus/Glamour

Friday, May 25, 12

Page 24: Gaucho - rmod.inria.fr · Gaucho enables the crafting of Object-Oriented programs by direct manipulation of Shapes. Shapes populate the Pampas, an infinite 2D Surface. Gaucho Friday,

Gauchowww.gaucho.inf.usi.ch R AE E LV

Friday, May 25, 12


Recommended