Questions tagged [morphic]

Morphic is a user interface framework first developed for Self and later ported to Squeak Smalltalk. It is used in the Smalltalk implementations Squeak, Pharo and Cuis and in the JavaScript programming environment Lively Kernel.

Morphic is a user interface construction environment that strives to embody directness and liveness. Directness means a user interface designer can initiate the process of examining or changing the attributes, structure, and behavior of user interface components by pointing at their graphical representations directly. Liveness means the user interface is always active and reactive-objects respond to user actions, animations run, layout happens, and information displays update continuously. Four implementation techniques work together to support directness and liveness in Morphic: structural reification, layout reification, ubiquitous animation, and live editing. [Malo95]

Morphic was first developed for the Self programming language and later ported to Squeak Smalltalk. It is used in Squeak, Pharo and Cuis and there exist implementations in JavaScript and in Python.

Links:

[Malo95] Maloney, J. and Smith, R., "Directness and Liveness in the Morphic User Interface Construction Environment," UIST '95, November 1995.

53 questions
9
votes
3 answers

What is the difference between a Morph in Morphic and a NSView in Cocoa?

I'd like to know about the things that make Morphic special.
Richard Durr
  • 3,081
  • 3
  • 20
  • 26
9
votes
2 answers

Event propagation in a Morphic GUI

I have an image for a Squeak Morphic GUI that contains some transparent parts and thus should not accept any mouseevents etc. but just be visible, but it needs to be visible in front of other morphs. That's why i thought it would be useful to…
hanneswurstes
  • 273
  • 3
  • 9
8
votes
1 answer

What exactly is Athens?

While i have already played with Athens (see PharoBoids) and liked it, i still miss the exact point about what it is. I came up with these two diagrams (see below) by myself. Are they correct? And also there are the corresponding Canvas classes.…
MartinW
  • 4,966
  • 2
  • 24
  • 60
6
votes
3 answers

Squeak Smalltalk: Game loop

In many languages you can do something like the following: while true: handle events like keyboard input update game world draw screen (optional: delay execution) while this is far from optimal it should suffice for simple games. How do you…
Higemaru
  • 354
  • 4
  • 10
6
votes
2 answers

animation in squeak smalltalk

I have a simple morph in squeak smalltalk. I want to move it from x1,y1 to x2,y2 (animation) with 5 seconds (or 10 seconds) is there a build in way to create animation in squeak smalltalk ?
2Big2BeSmall
  • 1,348
  • 3
  • 20
  • 40
6
votes
1 answer

How to deploy a nice One-Window-Application with Pharo or Squeak?

I have an application that has it's entire GUI in one Morph. Pharo and Squeak have one window in the host operating system. Now i want to tie this one Morph to the one Pharo/Squeak window in a way that it fills the whole Pharo/Squeak window, resizes…
Helene Bilbo
  • 1,142
  • 7
  • 20
6
votes
1 answer

What's the difference between Polymorph and Spec?

Recently a Spec documentation was released on-line, how it is related with the Polymorph project? It would be nice to read about the future of these projects. Is Polymorph discontinued?
user1000565
  • 927
  • 4
  • 12
6
votes
3 answers

Install script for OmniBrowser for Pharo 1.3?

Please do not promote Nautilus or Glamour here. I'm using Pharo 1.3 (without plans to migrate to Pharo 1.4 or 2.0). It seems to be many version of OmniBrowser out there. Which one is the most tested (in the sense of coverage) or just…
Juan Aguerre
  • 388
  • 2
  • 7
5
votes
1 answer

How to rescale subMorph when the container does?

I am exploring Squeak, release 5.2 in MacOS. I am drawing lines (PolygonMorph) inside a RectangleMorph 'r'. When I translate 'r' the lines translate but when I rescale 'r' the lines do not rescale. Run the snipped below. Then with the Halo…
Nicola Mingotti
  • 860
  • 6
  • 15
5
votes
1 answer

how to change submorph position

I have two morphs that one is in the other. a:= Morph new. b:= Morph new. a addMorph: b. a openInWorld. but when I want to change b's position by doing b position: 100@100, it never shows the change, so what am I missing here? or is it somehow…
yi cheng
  • 193
  • 10
5
votes
2 answers

Morphic: Automatically resize contained group box in a scroll pane?

Testing with Pharo 1.4 summer. I think is better to explain it using screenshots, code is below. This is my initial state (what I'm getting now with my code): I want the group box morph to be filled horizontally on opening, like this: And after…
user183928
  • 783
  • 3
  • 9
4
votes
1 answer

Which methods must I override to enable drag&drop in Squeak?

I have a big morph with dozens of submorphs. The submorphs are of two kinds: pieces and squares. I have googled a lot and read quite a bit of Morphic documentation, but somehow I can’t get it to work. I have not yet found a document that clearly…
Sander de Jong
  • 351
  • 6
  • 18
4
votes
2 answers

How to draw interactively with Pen on a Morph in Squeak?

It can't get the Pen to work properly in a Morph. I arrived at the snippet below but I don't understand how to update the view of the Morph after I moved the pen. I tried to send "changed" in various (sm, pen, (sm owner)) object but it does not…
Nicola Mingotti
  • 860
  • 6
  • 15
4
votes
1 answer

How would I handle certain, specific submorphs differently using TableLayout?

I have a morph. This morph is designed to hold a row of submorphs, which I use a TableLayout layout policy for and it works well. However, I want this morph to have a specific submorph that is always positioned directly below the morph. This…
rdococ
  • 51
  • 2
4
votes
3 answers

How to bind a LabelMorph/TextMorph to a variable so that the Morph reflects changes of the variable?

I have an object with a variable containing a String. I have a window containing a LabelMorph/TextMorph (or some other Morph that displays Text?). How do i bind the LabelMorph/TextMorph to the variable, so that the label updates when the String in…
MartinW
  • 4,966
  • 2
  • 24
  • 60
1
2 3 4