Graphical user interface templates?

We are developing an embedded type environment and we need to create our own user interface infrastructure.

I have done this before, but I am interested in doing a little research around common design patterns for frameworks.

The types of things that I see as patterns (somewhat far-reaching):

  • Focus / Defocus widget
  • Widget animation
  • Exchange data between items
  • Attaching Commands to Widgets
  • Saving State (MVC?)

What is the recommended reading for GUI templates?

+5
source share
6 answers

, , , , " ", . , .

Cocoa/UIKit , "" , (Java Swing) " " (QT).

, , - , , , , . Windows Forms , , Cocoa. ( ) ,

ui, , QT , ,

Gang of Four Decorator , - . , . , .

EDT: MVC , . , . , , , , .

+5

; , :

  • MVC .
  • ; , View (, ), View (, ).
  • ; , View Model, . Controller .
  • ; , .. , - "view.paint()".

, , , , , .

/ ? , " ", /.

+4

, , SingStar PS3

  • ( ) ( ). , , .
  • , , . MVC SingStar
  • / (, ) - . , .
  • , , , .
  • . , , , . .
  • . "" ( , ), .
+3

.

GUI:

interface IWidget
{
    bool HandleEvent(Event event); // returns true if event was handled
                                   // or false if event was ignored
}

class Button : IWidget
{
    public override bool HandleEvent(Event event)
    {
        switch(event.Type)
        {
            case EventType.MousePressed: DoStuff(); return true;
            case EventType.MouseScrolled: return false;
        }
    }
}

, ( ) . , , . HTML-, , ( HTML) .

Qt . bool QWidget:: event (QEvent *) .

.: KDE. KDE - - ++ , Linux. 2003 KDE.

+3
source

Dependency injection can sometimes be used.

+2
source

Learn XAML , especially bindings.

Microsoft has developed really good work in pure XML to describe the GUI layout, and if you use a simplified version of XAML to describe your user interface, you can use their design tools for the user interface layout.

+1
source

All Articles