Profesjonalny kreator okien na własność

W czasie gdy programista ma już dosyć tych gierek i silników, zasiada do… tworzenia zwykłych programów okienkowych (zwanych również użytkami). Odpala więc edytor, układa kontrolki, przypisujemy im odpowiednie zdarzenia i po paru chwilach widzi gotowy program…

A jak to wygląda w grach? No więc:

  • Układamy forme w jakimś własnym języku służącym do ich opisywania (np. jakaś odmiana XML).
  • Używamy takiego GUI który ma w zestawie edytor.
  • Wpisujemy wszystko ręcznie :)

Mi żadna z tych metod nie odpowiadała… Hmm gdyby użyć jakiegoś profesjonalnego edytora do okienek, pomyslałem. Np. to które znajduje się w środowisku Visual Studio. Zmusić je do kreowania własnego kodu (czy to XML czy zwykły C++) można by mieć naprawdę wielkie narzędzie na własność. W Windows Forms okazało się to szalenie łatwe. Wystarczy bowiem w runtime wykonać coś na kształt.

foreach (Control control in someform.Controls) {
 Type type = control.GetType();
 if (type == typeof(Button)) WriteButton((Button)control, sw);
 if (type == typeof(TextBox)) WriteTextBox((TextBox)control, sw);
 if (type == typeof(Label)) WriteLabel((Label)control, sw);
}

Czyli przechodzimy przez wszystkie kontrolki na okienku i wpisujemy ich pola w odpowiednim formacie do strumienia tekstowego. I tak np. wynikiem dla WriteButton będzie:

button1 = new CButton();
button1->SetLocation( vect2f(250, 19) );
button1->SetSize( vect2f(75, 23) );
button1->SetLabel(oT("OK"));
button1->SetFont( verdana_f );
AddControl(button1);

W ten sposób można generować całe pliki źródłowe z oknami… :)

A  ->  B  ->  C

Komentarze: 3 »

  1. bojkar said,

    wrzesień 19, 2007 @ 00:20

    bardzo podbna, wrecz identyczna skladnie ma moj wrapper na winapi :) a co do ukladania nice idea

  2. Yossarian said,

    wrzesień 20, 2007 @ 17:20

    Pomysłowe ;)

  3. accopenue said,

    styczeń 16, 2008 @ 14:09

    Make love, not war!

RSS feed for comments on this post

Leave a Comment