abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:44 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.

    Fluttershy, yay! | Komentářů: 0
    dnes 13:11 | IT novinky

    Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.

    Ladislav Hagara | Komentářů: 1
    včera 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 5
    včera 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

    Ladislav Hagara | Komentářů: 1
    včera 17:55 | Nová verze

    AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | IT novinky

    Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | Zajímavý článek

    Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.10.38 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 6
    včera 00:22 | Komunita

    Google zveřejnil seznam 1220 projektů od 195 organizací (Debian, GNU, openSUSE, Linux Foundation, Haiku, Python, …) přijatých do letošního, již dvacátého, Google Summer of Code.

    Ladislav Hagara | Komentářů: 2
    5.5. 22:22 | IT novinky

    Na základě DMCA požadavku bylo na konci dubna z GitHubu odstraněno 8535 repozitářů se zdrojovými kódy open source emulátoru přenosné herní konzole Nintendo Switch yuzu.

    Ladislav Hagara | Komentářů: 7
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (64%)
     (8%)
     (14%)
     (15%)
    Celkem 129 hlasů
     Komentářů: 8, poslední 4.5. 08:25
    Rozcestník


    Vložit další komentář
    2.6.2005 11:09 nobody
    Rozbalit Rozbalit vše a
    Cim menej ma uzivatel moznost volby, alebo zmeny, tym lepsie.
    Yin avatar 2.6.2005 11:19 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: a
    Oprava: nie užívateľ, ale Linuxák (kcontrol, gnome-control-center, atď. Sa tým dajako neriadia)
    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    2.6.2005 11:23 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
    Rozbalit Rozbalit vše Re: a
    Ale normální člověk si takový software nikdy nepořídí, protože se ho nemůže z příručky naučit nazpaměť.
    Copak toho není dost?
    Yin avatar 2.6.2005 12:40 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: a
    Jak by nie. V GUI-engine môžu byť štandardizované šablóny a ich zmena predvolene zakázaná. V príručke budú štandardizované sreenshoty. Ale nechaj tak, je to experiment.
    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    2.6.2005 11:40 orin
    Rozbalit Rozbalit vše amerika
    Teda - mozno mi nieco uslo, ale nie je to proste obycajne oddelenie GUI od aplikacie ? To sa predsa uz bezne robi (napr. mozilla/firefox)

    Ja pouzivam gtk-glade. User interface mam nadesignovany v .glade suboroch (xml format) a v kode mam len (no "takmer len" :-) ) odvolavky na pomenovane prvky gui. Tie glade subory moze uzivatel pokojne editovat pomocou glade-2. Neviem ale o tom, ze by sa o to niekto pokusil, asi o tom ani skoro nikto spomedzi tych par sto uzivatelov nevie...
    2.6.2005 11:56 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: amerika
    Problém je, že bez toho, abys musel měnit i kód, můžeš dělat v GUI v podstatě jen triviální (izomorfní) změny. Zajímavé změny vyžadují změnu chování, aplikační logiky, a tu v .glade souboru neuděláš.
    Yin avatar 2.6.2005 12:56 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: amerika

    Lenže stále povieš 'Tlačidlo', nie 'Niečo, čo pošle jeden signál'. niekomu vadí rozloženie tlačidial v Gnome, niekomu rodielnosť GUI toolkitov a ich stále zmeny (ext. link).

    Preto ja chcem vytvoriť len popis prianí na GUI. Ten sa dá prehnať nejakým AI (rule engine, fuzzy logik). (Napríklad!)

    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    2.6.2005 13:54 orin
    Rozbalit Rozbalit vše Re: amerika
    Aha - takze chces dalsiu medzivrstvu abstrakcie medzi aplikaciou a interface?

    V najjednoduchsom pripade by to bol akysi wraper, ktory by prerabal GUI-kniznice (alebo zmienenu AI) na jednotny interface.

    Keby sa to malo odflaktnut, mohli by sa pouzit obycajne shared libraries, inac by nebola zla nejaka komponentova architektura (CORBA, XPCOM, ... ?), pripadne RPC.

    Este by sa to dalo chapat ako rozdelenie programu na server (aplikaciu) a

    a) hodne univerzalneho klienta schopneho spolupracovat s roznymi aplikaciami (vytvarat pre ne GUI) - to uz dost pripomina browser a webove aplikacie

    b) specializovanych klientov (napr. AI) - napr. skript vyuzivajuci webovu aplikaciu (bash + wget :-) )

    Je tu filozoficky problem - spolupraca s GUI (alebo niecim inym) nie je jednoducha. - Bud ju spravis tak aby vedela "vsetko" a bude tym padom zlozita a bude obsahovat podobne konstrukcie ako volania nejakeho GUI API - Alebo spravis nejaku uroven abstrakcie - bude to prehladnejsie, jednoduchsie, ale nutne obmedzene co do funkcnosti.
    Yin avatar 2.6.2005 14:41 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: amerika

    Dobrý postreh! Ale nechcel som hneď rozmýšlať 'ako to imlementovať', alebo 'ako to bude fungovať', chcem len _rozmýšlať_...

    Takto by mohol vyzerať externy format:

    [recommended] 'Gnome dialog template';
    [komponents] 'but' {
      [send-signal] 'OK';
      [send-signal] 'Cancel';
      [send-signal] 'Wait';
    }
    [komponents] {
      [store-text][on-change-signal] 'message';
      [return-index][dynamic] 'category combo';
    }
    [group][linear please] {
      [safe] 'but'.'Wait';
      [unsafe][default] 'but'.'OK';
      [unsafe] 'but'.'Cancel';
    }
    [group] {
      'category combo' [note] 'Vyberte si kategoriu';
      [default] 'message' [note] 'Sem zapíšte text';
    }
    [signals] {
      'but'.'OK'.[send-signal] = 'doOK()';
      'but'.'Cancel'.[send-signel] = 'doCancel()';
      'but'.'Wait'.[send-signal] = 'doWait()';
    
      'message'.[on-change-signal] = 'updateTitle()';
    }
    

    Takto kod v C:

    GUI_dialog* d;
    
    void initGUI(char** loaded_kategories) {
      d = GUI_load("gui.conf");
      GUI_dynamicData(d, "category combo", loaded_kategories);
      GUI_makeActual(d);
    }
    
    void doOK() {
      server_send(GUI_get(d, "message"));
    }
    
    void updateTitle() {
      if(is_well_formed(GUI_get(d, "message"))) {
        printf("recipient will be happy!\n");
      } else {
        printf("recipient will be unhappy!\n");
      }
    }
    

    Vsimnite si, ze v externom formate o rozlozeni nehovorim, len odporucam, skupinky a sablonu. V kode sa z inicializaciou a obsluhou GUI nehram.

    Ale to nieje dolezite!

    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    2.6.2005 17:06 orin
    Rozbalit Rozbalit vše Re: amerika
    Ok, rozmyslam rad :-)

    Teda - nie ze by som vsetkemu rozumel... Skusim napisat, ako som to pochopil:
    [recommend] doporucuje vseobecny mechanizmus, ktorym sa ma vyrobyt GUI z doporuceni
    [komponents] definuju casti GUI - formulare a dialogy,
    [group] urcuje layout
    [signals] signal binding
    
    Povedal by som, ze by bolo uzitocne oddelit tieto veci:

    - definiciu interface aplikacie - (na to sa bezne pouziva IDL)

    - rozlozenie gui (analogia k html alebo xml) a jeho napojenie na aplikaciu

    - styl/tema/skin (analogia k css)

    GUI prostredie potrebuje vsetky tri veci, zatial co napr. tie AI skripty len tu prvu.

    Taketo rozdelenie je obvykle. Mozno blizsie k tomu co navrhujes by bolo nedefinovat rozlozenie gui, ale len pomenovat prvky gui a ich prepojenie na aplikaciu a potom nadefinovat samotne gui, ktore by sa odvolavalo na tieto pomenovane prvky.

    Priklad:
    - mam funkciu "doOK()": void doOK();
    - Na jej obsluhu potrebujem button, pomenujem ho "OKbutton":
    Button OKbutton
    bind OKbutton.clicked -> doOK()
    - Mam formular 1 obsahujuci OKbutton
    <form name="formular_1">
    <button name="OKbutton" label="OK"/>
    <button name="Cancelbutton"/>
    </form>
    - Mam styl pripadne obsahujuci lokalizovane retazce:
    button.OKbutton {color:red;}
    button.Cancelbutton {label:"Zrus";}
    
    Yin avatar 2.6.2005 19:11 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: amerika

    Dobre, postupujes logicky! Lenze definujes vzhlad. Ja chcem len funkcnost. Zabudni na moje 1-urovnove [vsetko]. Ponechaj v popise len obsahy oboch [komponents] a zostane:

    [send-signal] 'ok';
    [send-signal] 'cancel';
    [send-signal] 'wait';
    [store-text][on-change-signal] 'text' [note] 'Vyberte si kategoriu';
    [return-index][dynamic] 'category' [note] 'Sem zapíšte text';
    

    send-signal vysle signal, ked si ho uzivatel vyberie. engine vzycajne vyberie tlacidlo.
    store-text drzi text od uzivatela zvycajne inputbox.
    return-index vrati index vyberu radio-buttony, combobox
    dynamic obsah urci app. (definovane polozky, alebo rozsahy...)
    ...

    Nikdy nepoviem [button], alebo farba, tento v lavo, tento v pravo. Ja chcem totiz usporit cas a sekundarne definovat dost abstraktny model na to, zby sa dal pouzit v GTK, QT, NCurses, ale aj konzole!

    Nechcem hovorit o farbe, velkosti, polohe. Len o tom ako som ja schopny prijmat signaly a data, nech sa user, ako to chce. Podme na to __abstraktne.

    Mozno by sme sa mohli o tom viacej pobavit, ak by s chcel... a mozno rozsirit nejaky uz funkcny projekt/vlastny projekt...
    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    3.6.2005 12:13 orin
    Rozbalit Rozbalit vše Re: amerika
    Privela abstrakcie skodi. (ale to len tak naokraj) A u tych platforiem si este zabudol na html, wap a hlavne na komunikaciu esemeskami :-)

    Teda na konzolu (ak mas na mysli nieco na sposob "Proceed ? [Y/n] :", tak na to by som sa uz asi fakt vykaslal... Zmysel to ale mozno predsa len ma - pre postihnutych (napr. nevidiacich). SWING v jave by vraj mal byt schopny nejak tymto stylom komunikovat (pomocou hlasoveho rozhrania), ale nikdy som to nevidel.

    To co si napisal hore je v podstate deklaracia signalov s nenapadnymi doplnkami (napr. [note]), ktore na jednej strane pomahaju vyrobit gui, ale na strane druhej na skutocne zobrazenie gui nestacia (a to je predpokladam pointa).

    Ako to gui teda vlastne vznikne ? Vytvori ho na zaklade hintov nejaky genialny algoritmus ? Alebo bude definovane v dalsom subore ?

    V praxi asi oboje - pocas vyvoja aplikacie sa vykasles na GUI a nechas automatiku, nech nejake vyrobi. A ked uz ides odovzdat program zakaznikovi, tak este narychlo zlepis nejake krajsie GUI, vyfarbis ho na ruzovo a mame to!

    Mam dalsie napady, ale nechcem to tu prilis zahltit.

    Je to zaujimava debata, rad v nej budem pokracovat. Co sa tyka nejakeho projektu, mozme to zvazit, ale teraz mam tri nekonecne projekty (na ktorych robim len vo volnom case) a nestiham.
    Yin avatar 3.6.2005 12:24 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: amerika
    Už ma chápeš do detailov. Ak to proste nestihaš, uvítal by som podporu... čo koľvek, čo by pomohlo projektu (napr. zhrnutie tých 150 strán jak na projekt na sourceforge a podobne). Nevies o tom nejakom projekte, ktorý by dokázal prijať túto koncepciu?
    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    3.6.2005 13:47 orin
    Rozbalit Rozbalit vše Re: amerika
    Pravdupovediac sam som mal v plane spravit nieco nie uplne vzdialene tomu, co hovoris. Robim programovaci jazyk (jeden z tych troch projektov) a chcel by som, aby sa k objektom automaticky generoval user interface. Ale zatial tak daleko nie som :-(

    Ak to myslis vazne, mal by si pozistovat co a ako robia ostatni. Ked som chcel ziskat prehlad v tom co sa deje, jednoducho som presiel vsetky projekty (v jednej kategorii) na freshmeate. Je to sice typicky niekolko sto, ale ide to pomerne rychlo a nakoniec najdes mozno 5 naozaj zaujimavych.

    Uz som spominal glade a mozillu. Z mozilly by si mohol zobrat XPCOM. To je ta komponentova architektura, interface sa opisuje pomocou IDL. Alternativy su Orbit v gnome, nieco dalsie velmi podobne je v OpenOffice. Mozno ti to bude pripadat prilis zlozite (mne to tak pripada), ale stoji to za uvahu. Mozilla ma tiez celkom prepracovane GUI definovane v XML a poprepajane s komponentami pomocou javascriptu. Zas tak velmi do toho nevidim, ale myslim ze je to dobre vidiet aspon pre inspiraciu.

    Inac - nebolo by zle najprv si overit koncepciu. Dajmetomu napisat nejaky skript (ja pouzivam python), ktory by vyparsoval tu definiciu signalov a vygeneroval by rozhranie. Ako format doporucujem XML a parsovat pomocou DOM - usetris vela casu pri vyrobe parsera.

    Tiez nie je zle zoznamit sa s API viacerych GUI a ich moznostami. Na povrchu vyzeraju podobne, ale koncepcne riesia mnohe veci rozdielne.

    SourceForge je dzungla, hlavne ta ich dokumentacia. Ale nie je to nakoniec take zlozite - aj ked mohli to spravit aj jednoduchsie. Najprv sa musis prihlasit, napisat im popis projektu, jeho nazov a licenciu. Oni to odsuhlasia - pomerne rychlo - tak do troch dni, ale mozes to cakat uz na druhy den. Detaily si uz nepametam, prihlasoval som sa tam niekedy pred dvoma rokmi...

    IMHO dost cudne je uploadnovanie - posielas to tam cez FTP do spolocneho adresara a potom to cez webove rozhranie zaregistrujes a presunie sa to tam kde to ma byt.
    Yin avatar 3.6.2005 14:01 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: amerika

    Radšej pobím v Perle, ale to je nepodstatné, aj tak, by som rád vyrobil niečo takéto:

    parser modul:    XML ASCII Binary
                      |    |      |
                    štrukturálny model
                           |
    layout modul:    múdri aloritmus
                       |    |    |
    GUI backend:       QT  KDE  ...
    

    To je však hudba budúcnosti a možno absoltne zlý návrh...

    sourceforge.net: zaujíma ma mailing-listu a tiež,či nepodporujú niečo iné ako CVS... ja by som radšej Darcs...

    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    2.6.2005 12:00 Petr Zelenka | skóre: 24 | Semice/Stuttgart (Sindelfingen)
    Rozbalit Rozbalit vše Neuzavřený tag code
    Zdravím, ale asi jsi zapoměl uzavřít jeden z tagů code, resp. ti u toho zavíracího chybí lomítko. Pak se vše pod tím formátuje tak, jak se to formátuje :)

    Jinak téma GUI se tu docela rozmohlo. Obecně si myslím, že nic není ideální a když už se k ideálu přiblížíš, je to jen tvůj ideál. Někomu jinému to může připadat naopak nepoužitelné.
    A teď si uvědomte, jaký je vztah mezi krychlí a motýlem.
    Yin avatar 2.6.2005 12:44 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: Neuzavřený tag code
    Opravene.
    Ano, súhlasím.
    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.