Kun on takana jo pitkä pätkä windows-ohjelmoinnin puolella niin siirtyminen tänne linux-puolelle GTK:n pariin on yllättävän raskasta, koska filosofia on aivan erilainen.
no, mikä nyt sitten on erilaista. molemmat ovat kuitenkin eventtipohjaisia järjestelmiä (kuten nyt GUIt yleensäkin) ja molemmissa lähetellään ja vastaanotetaan signaaleja. tosin siinä missä windowsin signaalit tulevat sinne yhdelle signaalinkäsittelijälle, rekisteröidään GTK:ssa käsittelijä kullekin signaalille joka käyttäjää sattuu kiinnostamaan.
Juu tuo callbackkien käsittely ja gladella niiden kertominen onkin erinomaisen helppoa ja mukavaa, mutta windows-puolellahan tuo hoituu hiukan toisin, siellä esim. dialogin buttoneiden yms käsittely toimii ns. omassa avaruudessaan. (Sanokaa, jos olen väärässä) verrattuna tähän linuxiin. Mikä toisaalta välilä on erittäinkin epämukavaa, koska joskus sitä tahtoo windows-viestien väliin ja se taas vaatii omat kommervenkkinsä (Toisaalta se on jo tuttua huttua). Tuo myös oli hiukan hankalaa windows-ihmiselle käsittää, että GTK:n puolella käytetään containereita (ainakin gladella, mikä on muuten erinomainen juttu, koon muutoksien yms kannalta). Kunhan nämä asiat sisäistän niin eiköhän se siitä ala homma pelittämään
Tietääkö kukaan, notta löytyykö netistä hyviä sivustoja, jotka kertovat, että kuinka jokin windows-kommervenkki toteutetaan GTK:lla? Pitkän ajan kuluessa on tuo windows-tapa iskostunut jo ytimiin, joten tuollainen sivusto helpottaisi asiaa kovasti .
en ole ainakaan tuollaiseen törmännyt, eikä ole kyllä käynyt mielessänikään.
Tietyt perusasiat kuitenkin tehdään totaalisen eritavalla. Esim. Windowsissa näytölle piirtäminen tapahtuu WM_PAINT-viestin käsittelyssä ja kesti hetken aikaa, ennen kuin löysin vastaavan tavan GTK:n puolella ja sain ohjelmani toimimaan kuten halusin...
tuokin vähän riippuu siitä mitä näytölle haluaa piirtää.
Nyt olen kokeillut tässä sellaista perusohjelmaa, eli piirrän näytölle ihan A4-paperin, johon voi käyttäjä sitten piirtää omia juttujaan päälle (hiirellä vapaa piirto) ja tulostaa ne pihalle. Eli tämmöinen perusohjelma, jotta sisäistän kuinka homma oikein pelittää.
Olen kyllä tässä itse näitä asioita treenatessani kirjoitellut kaiken talteen, joten tarpeen vaatiessa voisin vaikka itse antaa panokseni linuxille ja kirjoitella hiukan dokumentteja tästä asiasta.
noita voisi kyllä olla ihan mielenkkintoista lukea
Tässä näitä ylös kirjoittelen samalla, kun opiskelen uutta. Toivon mukaan saan niistä jotain aikaiseksi, joka sitten muitakin asian parissa painiskelevia helpottaa...