Kezdjük először is a nyelvi beállítások körüli problémáknál. Elindítom a programot, az rc.conf szerint LANG=hu_HU. Ez rendben is van, a MonoDevelop szépen le van fordítva magyar nyelvre, látszólag minden működik. létrehozom a GtkSharp alkalmazásomat, a főablakra rádobálom a widgeteket (tisztára mint Borland C++ Builderen), majd rájövök, hogy kellene egy olyan widget, ami grafikonokat jelenít meg, de úgy, hogy a grafikon oszlopai fölé húzva az egeret, megjelenjen azok értéke egy tooltipben vagy valahol a program ablakában. A neten kutatva nem találok erre gyors megoldást, illetve amit találok, az túl robosztus az én elképzeléseimnek. Sebaj, leprogramozom.
Melyik widgetből származtassam a saját widgetemet? Gtk.DrawingArea jó lesz nekem. Létrehoznám a widgetet a MonoDevelop beépített felületén, erre kidob egy exceptionnel. Sokat molyoltam vele, hogy miért, aztán elindítottam így a programot és megjavult:
LANG=C monodevelop
Hoppá. Eltűnt fent az eszköztár, újra engedélyeznem kell a menüből az eszköztár elemeit. Semmi baj, megcsinálom. Létrehoztam a kellő widgetet, létrejött az új Project, benne a Gtk.DrawingArea leszármazott osztállyal, ahogy kell. Gondoltam, visszaváltok magyarra. Ismét eltűnik az eszköztár. Nem probléma, ez a szép a nyílt forrásban. Meglepő módon a widgetek az IDE jobb szélén kétszer szerepelnek. Egy magyar és egy angol névvel. A saját widgetem nem, azt még nem fordítottam le.
Használnom kellett a TreeView osztályt is. Amint ezt rátettem az alkalmazásomra, komoly keresgélésbe kelett kezdenem, mivel a Gtk dokumentációja enyhén szólva is hiányos. Értem ez alatt, hogy egy apró összefoglalón kívül, melyből megtudom, hogy "To be added", tehát megírandó, nincs róla semmi. Levelezőlisták archívumában és különböző fórumok hozzászólásain keresztül pedig igen nehéz megtanulni a dolgot. Azért sikerült, de ez iszonyú kényelmetlen dolog. Ehelyett ránéztem kíváncsiságból a Qt-ra, meglepően jól dokumentált és nem utolsó sorban jóval könnyebben tanulható, egyszerűbb, logikusabb a felépítése. Ez ugyan szubjektív, de szerintem jóval szebb is. Legközelebb mindenképpen ezt használom.
Talán hasznosnak találod a létrehozott widgetemet, MIT licensz alá helyeztem:
http://wiki.eperpalanta.hu/projects:chartwidgetlibrary:start
Bár a GtkSharp használatától óva intek mindenkit :)
- zoner blogja
- A hozzászóláshoz be kell jelentkezni
- 854 megtekintés