Szisztok!
GTK#-pal szeretnék fejleszteni OpenMoko-ra.
A levelezési listák szerint már van Mono és GTK# portolva rá, tehát eddig rendben van.
Olyan GUI-t szeretnék csinálni, aminek a közepén egy nagyméretű DrawArea van (ami mellesleg egy térkép), tehát egy a program által rajzolt terület. Ez a terület alapesetben a teljes képernyőt elfoglalná, rajta az érintés és húzás műveletek már eleve jelentéssel bírnának.
Valamelyik sarokba gondoltam egy gombot, ami "lebeg" a DrawArea felett: tehát nem foglal el egy teljes sort, vagy teljes oszlopot, hanem csak a sarkot és éppen akkora, hogy az újjunkkal kényelmesen eltalálhassuk. A térképnek a gomb alatti részét is kirajzolhatjuk, ez mivel a teljes képernyőhöz képest kis terület nem lenne nagy veszteség szerintem.
Erre a gombra kattintva(érintve) jönne fel a toolbox (menüpontok, ha úgy tetszik).
A feljövő menüpontok is jó lenne, ha a DrawArea felett lebegnének, mert így a menü felugratása nem idézne elő (átméretezést és) újrarajzolást a DrawArea-n, tehát elvileg elég reszponzív lenne.
Tehát valami olyan gyermek ablak kellene, amit always on top paraméterrel keret nélkül jelenítünk meg. Egy ilyenre kerülne a nyomógomb és a felugró toolbox is.
Ezt hogy kell megoldani GTK#-pal?
A GTK# a GTK+ körül egy c# wrapper, tehát ha a GTK+-os megoldást tudod, az is ugyanúgy jó, át lehet alakítani GTK#-ra.
A GUI-t amúgy glade-del lenne a legjobb tervezni, tehát az lenne a legjobb, ha a glade-3-ban toplevel widget lenne a lebegő gomb és toolbox is.
- 1193 megtekintés
Hozzászólások
Hm. Lehet en olvastam felre, de mar leirtad a megoldast :)
Egy uj toplevel window vagy widget kell, amit pozicionalsz a sarokba :) Azt hiszem meg lehet mondani egy window/widget -nek hogy hova is keruljon. Center, Left Corner, stb. Es automatice oda helyezodik ki.
Egy toplevel window-nak pedig meg tudsz adni parametereket, hogy pl latszodjon-e a cimsor, a statusbar, a menu, mekkora legyen a frame keret korulotte, stb.stb.
Ez a legkezenfekvobb megoldas. Meg lehet neki mondani hogy latszodjanak-e a bezaro, elrejto gombok, stb.
+ a main widgettel ami a drawarea tuti hogy ossze lehet kapcsolni valahogy.
De GTK+ API reference-t ajanlom olvasgatni :)
http://library.gnome.org/devel/gtk/unstable/index.html
Itt mindent megtalalsz. (Ez GTK# -hoz is jo csak figyelni kell a verziora. + arra hogy mit "portoltak" at mert lehet nem minden funkciot)
Udv
-krix-
- A hozzászóláshoz be kell jelentkezni
>Hm. Lehet en olvastam felre, de mar leirtad a megoldast :)
Egy lehetséges megoldás vázát :-). Arra lennék kiváncsi, hogy ha valaki GTK guru ő hogyan csinálná.
>Egy uj toplevel window vagy widget kell, amit pozicionalsz a sarokba :)
Kérdések:
- csak toplevel window lehet-e
- van-e olyan toplevel window, amit a szülőjéhez relatív lehet pozícionálni, illetve a szülővel egyszerre eltüntetni (mert amit eddig csináltam teljesen függetlenül működik)? Vagy ezekre az eseményekre kézzel kell a szülő követését beprogramozni?
- A hozzászóláshoz be kell jelentkezni
Hmmm.
Jo kerdesek :)
Ezeket sajnos passzolom, ennyire nem melyultem bele a GTK+ -ba egyelore.
Viszont ha az API-t rendesen atnyalazod / atnezed, akkor tuti hogy talalsz erre megfelelo megoldast.
Child, Socket, stb szavakra keress az APIban.
Ennyit tudtam most :)
Uvd
-krix-
- A hozzászóláshoz be kell jelentkezni