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

    Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13.

    Ladislav Hagara | Komentářů: 1
    dnes 04:33 | Nová verze

    Byla vydána (Mastodon, 𝕏) třetí RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | IT novinky

    Apple představil iPhone 17e a iPad Air s čipem M4.

    Ladislav Hagara | Komentářů: 6
    včera 21:11 | Zajímavý software

    Byla vydána verze 1.0 editoru kódů Gram. Jedná se o fork editoru Zed bez telemetrie a umělé inteligence.

    Ladislav Hagara | Komentářů: 0
    včera 20:33 | IT novinky

    Byla oznámena spolupráce GrapheneOS s Motorolou. Podrobnosti v tiskové zprávě. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.2.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Komunita

    Volí se dvě místa v Radě openSUSE. Seznamte se se čtyřmi kandidáty. Členové projektu openSUSE mohou hlasovat od 1. do 8. března. Výsledky budou oznámeny 9. března.

    lkocman | Komentářů: 2
    1.3. 19:22 | IT novinky

    Společnost OpenAI uzavřela dohodu s americkým ministerstvem obrany o poskytování technologií umělé inteligence (AI) pro utajované sítě americké armády. Firma to oznámila několik hodin poté, co prezident Donald Trump nařídil vládě, aby přestala využívat služby společnosti Anthropic.

    Ladislav Hagara | Komentářů: 12
    1.3. 13:33 | IT novinky

    Technologická společnost Anthropic v noci na dnešek oznámila, že se obrátí na soud kvůli rozhodnutí ministerstva obrany označit ji za bezpečnostní riziko dodavatelského řetězce poté, co nevyhověla jeho požadavkům týkajícím se používání umělé inteligence (AI). Prezident Donald Trump krátce před tím uvedl, že nařídil federálním úřadům postupně ukončit využívání jejích AI technologií. Spor mezi firmou vyvíjející chatbot Claude a

    … více »
    Ladislav Hagara | Komentářů: 15
    28.2. 15:44 | Upozornění

    Zemřel Rob Grant, spolutvůrce kultovního sci-fi seriálu Červený trpaslík.

    Ladislav Hagara | Komentářů: 8
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (7%)
     (0%)
     (12%)
     (27%)
     (2%)
     (5%)
     (2%)
     (13%)
     (25%)
    Celkem 998 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Stav Toolkitu

    5.8.2006 17:54 | Přečteno: 938× | Linux | poslední úprava: 5.8.2006 19:41

    Stále mě ještě nepřestalo bavit pracovat na Toolkitu. Dnes jsem se definitivně rozhodl, že nebude defaultně vytvořená statická knihovna, ale jen dynamická. Velikost knihovny je zatím 276 kB (překládáno s parametrem -fPIC). Defaultně jí nebudu stripovat, ale bude možné to udělat příkazem make strip. Po stripnutí má nějakých 70 kB. configure skriptu bude možné předat parametr --enable-static. To bude mít za následek i vytvoření statické knihovny.

    Tak a teď k tomu stavu Toolkitu. Mám zatím dokončenu implementaci jen těchto widgetů:

    Dále jsou dokončeny třídy AnsiString, WideString a UnicodeString s možností konverze mezi jednotlivými znakovými sadami nebo kódováními, třídy pro čtení a zápis souborů (File, InputFile, OutputFile) a nakonec třídy Array a Application.

    Následuje zdrojový kód (pro ukázku), který je již opravdu přeložitelný (ten posledně byl jen návrh). Nejsou v něm ukázány všechny dosavadně implementované možnosti Toolkitu, spíš takové minimum. Je to prostě jen ukázka.

    #include <Toolkit/Application.h>
    #include <Toolkit/Window.h>
    #include <Toolkit/Label.h>
     
    Toolkit::Application *app;
    
    class MainWindow: public Toolkit::Window{
    public:
    	MainWindow()
    	{
    		setTitle( app->getName() );
    		setDefaultSize( 500, 480 );
    		new Toolkit::Label( L"Hello world!\nHlavní okno", this );
    	}
    	~MainWindow()
    	{
    		app->quit(0);
    	}
    };
    
    class ChildWindow: public Toolkit::Window{
    public:
    	ChildWindow()
    	{
    		setDefaultSize( 400, 250 );
    		setTitle( L"Modální dialog" );
    		new Toolkit::Label( L"Hello world!\nModální okno", this );
    	}
    	~ChildWindow()
    	{
    		
    	}
    };
    
    MainWindow *mainWindow;
    ChildWindow *childWindow;
     
    int main( int argc, char **argv )
    {
    	app = new Toolkit::Application( &argc, &argv );
    	app->init( L"JXP Commander" );
    	
    	mainWindow = new MainWindow;
    	mainWindow->showAll();
    	
    	childWindow = new ChildWindow;
    	childWindow->setTransientFor(mainWindow);
    	childWindow->setSkipTaskbarHint(true);
    	childWindow->setModal(true);
    	childWindow->showAll();
    	
    	return app->run();
    }
    

    Update: Jedna výborná zpráva - glib obsahuje konverzní funkce pro řetězce používající iconv. Licence tedy zůstává BSD.

           

    Hodnocení: 67 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    Josef Kufner avatar 5.8.2006 20:22 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Stav Toolkitu
    A co udělat místo toolkitu GUI? Blami se o tomhle kdysi dávno zmínil a je to celkem zajímavá myšlenka.

    Jde o to, že místo sem dej tohle, támhle todle se udělá jakési obecné gui, které bude vyhovovat všem aplikacím. Pak tvorba programu bude vypadat asi tak, že se inicializuje GUI, řekne: "Chci pohled na dokument, tady jsou funkce, které to umí, tady je kód na vykreslení dokumentu, tady jsou callbacky na tyhle události."

    Program se vůbec nemusí zabývat tvorbou GUI, jen definuje relativně obecný typ a pár základních vlastností. Např: pohled na dokument, konfigurační dialog, paleta s nástroji, zobrazení informace/otázka,...

    Ve výsledku by všechny programy měly stejné GUI, plně konfigurovatelné a na desktopu nezávislé. Bez sebemenšího zásahu do programu by bylo možné používat stejný program na PC, PDA, tabletu,... Bylo by možné překonfigurovat ovládání tak, že by se okna otočily naruby a ještě dělaly kotrmelce ;-)

    Mohla by vzniknout nová vrstva mezi programem a X serverem. Jakýsi správce GUI, který by zobrazoval palety s nástroji zadokované v pevných docích na okraji displeje (nikoliv okna, ani jako samostatné okno) a menu by mohlo být jako je už dlouho na Macu. Jen by to šlo daleko dál.

    Prakticky by mohl přestat existovat současný desktop s okny. Myšlenka zachycená Ionem by se mohla dál rozvinout,... pak by uživatel přepnul téma a koukal by na desktop ve stylu Windows 3.1, žádné panely, jen okna...

    Tohle by ale neznamenalo konec toolkitu jako takového, ten by byl použit na vykreslování tlačítek, menu,... prostě to co dělá teď, jen by ho nepoužíval program, ale nějaký ten správce GUI.

    Pak je ještě problém se zobrazením onoho dokumentu. To může být prakticky cokoliv, nemyslím tím jen kus textu či obrázek, ale třeba i hru, mail klient, terminál, prostě cokoliv. Jak tohle zapasovat do tak obecného návrhu je trošku problém. Viděl bych to tak, že by se program prostě staral o ten jeden widget. Ale jen o ten.
    Hello world ! Segmentation fault (core dumped)
    7.8.2006 12:50 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Stav Toolkitu
    Ač neprogramátor, tak mě už něco podobného taky napadlo. Akorát jsem to nerozvíjel. :-)

    BTW nesnaží se o něco podobného wxwidgets?
    5.8.2006 21:55 ajikdpoe | skóre: 23 | blog: dvh
    Rozbalit Rozbalit vše Re: Stav Toolkitu
    Jardík avatar 6.8.2006 14:02 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Stav Toolkitu
    Zkoušel jsem ho už před pár dny. Není vůbec špatný. Jenom by potřeboval dodělat :) Jenže já to chci mít pod Gtk. Gtk má ale pro mě hnusné API a proto dělám ten Toolkit (je to wrapper pro Gtk).
    Věřím v jednoho Boha.
    6.8.2006 15:00 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Stav Toolkitu
    Co je tak neuvěřitelného na gtk?
    6.8.2006 03:45 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Stav Toolkitu
    Xlib->gdk->gtk->Toolkit->aplikace

    Nevím, ale 70kb se mi zdá trošku moc, na to že to je jen wrapper pro 5 widgetů.
    Jardík avatar 6.8.2006 14:14 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Stav Toolkitu
    V tom seznamu ti ještě chybí glib, ale to je jedno. Nevím, co si tim chtěl říct.
    libgtkmm má 3,3 MB. 70kb rozhodně moc není (jen 8,75kB), ale já psal 70kB (musel jsem si rejpnout) ale to podle mě také moc není.
    Věřím v jednoho Boha.
    6.8.2006 14:58 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Stav Toolkitu
    glib tam není úmyslně, šlo mi čistě o vrstvu, která se dostane k xlib.

    Jde o to jestli není lepší mít toolkit který je nativně napsaný v jazyce ve kterém se budou psát i aplikace, C++ wrapper pro C++ toolkit by totiž asi nikdo nedělal a bylo by to jenom dobře.
    6.8.2006 16:55 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Stav Toolkitu
    Jenom by mě zajímalo jestli se ve Vašem příkladě korektně uvolní ty vytvořené widgety?
    Jardík avatar 7.8.2006 19:43 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Stav Toolkitu
    Widgety automaticky handlují (nebo jak to nazvat) signál "delete-event". Mám ošetřeno, jestli je nejprve zavolán destruktor (v tom případě se volá gtk_widget_destroy) nebo je nejprve zavolána callback fce pro "delete-event" (zavolá se delete this).
    Věřím v jednoho Boha.

    Založit nové vláknoNahoru

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