Grafische Oberflächen für die Konsole von Microsoft

Widgets für die Xbox 360 (Teil 3)
Kommentare

Microsoft predigt seit Jahren, dass Silverlight die Zukunft ist. Denn wer sein GUI mit Silverlight programmiert, kann es angeblich auf allen Microsoft-Plattformen verwenden. Doch stimmt das auch?

Texteingabe

Würde unser vorheriges Beispiel auf einer Xbox ausgeführt werden, würden alle Steuerelemente auf dem Bildschirm erscheinen. Leider kann der Benutzer keinen Text eingeben, wodurch das ganze Programm ad absurdum geführt wird. Die Lösung von orbUI für dieses Problem ist ein On-Screen Keyboard. Es wird mit einem kleinen Codestück erstellt und schwebt fortan als eigenständiges Formular über den Bildschirm:

private OnScreenKeyboard myKeyboard;
myKeyboard = new OnScreenKeyboard(„myKeyboard“, „“, new Point((800 – OrbResources.Control_OnScreenKeyboard_Size.X) / 2, 600 – OrbResources.Control_OnScreenKeyboard_Size.Y));
myKeyboard.ShowDialog();

Abb. 2: Das On-Screen Keyboard
Abb. 2: Das On-Screen Keyboard

Wenn man das On-Screen Keyboard nicht mehr braucht, entfernt man es: myKeyboard.Close();
myKeyboard.Dispose();

Wichtig ist, dass On-Screen Keyboards nicht besonders effizient sind. Obwohl ihre Verwendung ausnahmslos jedem Benutzer einleuchtet, dauert das Eingeben von Text extrem lange. Außerdem sollte man im Layout Platz für das Eingabefenster vorsehen, da es alle unter ihm befindlichen Steuerelemente überdeckt.

Form im Dialog

Wie jedes andere Framework unterstützt auch orbUI nicht nur klassische Formulare, sondern auch Dialoge. Da unser kleines Beispiel ohne einen About-Dialog nicht komplett wäre, werden wir es nun um einen solchen ergänzen. Im ersten Schritt erstellen wir uns dabei eine neue Klasse, in der der Dialog aufgebaut wird. Den Code finden Sie in Listing 5. Auch in dieser Klasse befindet sich keine Raketenphysik. Interessant ist, dass statt der Funktion Show() die Funktion ShowDialog() aufgerufen wird, dadurch entsteht nämlich ein Dialogfenster.

Listing 5
class AboutForm : OrbUI.Components.GUI.Controls.Form
{
    public Button myButton;
    public Label myLabel;

    public AboutForm()
      : base("MyAboutForm", "About this", new Point(200, 200), new Point(300, 200), OrbUI.Components.GUI.FormBorderStyle.Fixed)
    {
      myButton = new Button("myDlgBackButton", new Point(80, 100), 100, "Back!", Color.Black);
      myButton.CursorUp += CmdHandler;
      Controls.Add(myButton);

      myLabel = new Label("myDlgLabel", new Point(15, 15), new Point(160, 75), "A SuS Samplenby Tamoggemon", Color.Black);
      Controls.Add(myLabel);

      ShowDialog();
    }

    private void CmdHandler(object sender)
    {
      Close();
    }

}
  
Silverlight?

Laut diversen Internetquellen soll die Auslieferung von Silverlight für die Xbox im Rahmen des Black Friday erfolgen. Dabei handelt es sich um einen US-Feiertag, der traditionell mit massivem Einkaufen gefeiert wird. Wenn diese Prognosen stimmen, würde das Produkt am 25. November im Rahmen des nächsten Dashboard-Updates an Endkunden ausgeliefert; 40 ausgewählte Entwickler werden zu diesem Zeitpunkt Produkte auf Basis der Plattform anbieten. Da es in der Vergangenheit mehrfach „Releaseprognosen“ gab, sieht der Autor diesem Datum sehr gelassen entgegen. Denn selbst wenn das Dashboard-Update intern mit Silverlight arbeiten würde, heißt das noch lange nicht, dass auch Drittanbieter „ran dürfen“.

Fazit

Selbst wenn Microsofts „LakeView“ genannte Silverlight-Portierung für die Xbox 360 morgen das Licht der Welt erblicken würde, wäre das für eine mit orbUI erstellte Anwendung kein Problem. Denn es nutzt die gleichen APIs, die auch von Spielen zum Zeichnen genutzt werden. Wer heute ein GUI für seine Xbox360-Anwendung braucht, kann also bedenkenlos zuschlagen. Allerdings sollte man bedenken, an welches Toolkit man sich bindet, denn man liegt immer nur so gut, wie man sich bettet.

Tam Hanna befasst sich seit der Zeit des Palm IIIc mit Programmierung und Anwendung von Handcomputern. Er entwickelt Programme für diverse Plattformen, betreibt Onlinenewsdienste zum Thema und steht unter tamhan@tamoggemon.com für Fragen, Trainings und Vorträge gern zur Verfügung.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -