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í
×
    včera 21:22 | Pozvánky

    Oslavte vydání openSUSE Leap 16.1 s námi v Praze! Ve středu 4. listopadu 2026 (den po vydání Leapu 16.1) vás zveme na malou oslavu vydání openSUSE Leap 16.1 do pražské kanceláře SUSE. Připravili jsme pro vás dvě krátké přednášky: … více »

    lkocman | Komentářů: 0
    včera 16:44 | Bezpečnostní upozornění

    Dle plánu bylo PHP vydáno v nových verzích 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Opraveny jsou kritické zranitelnosti CVE-2026-109618 a CVE-2026-109619 aneb PHP2Shell.

    Ladislav Hagara | Komentářů: 4
    včera 11:55 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.1 a 24.04-1.5. S opravou kritických zranitelností.

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

    Společnost Škoda Auto zveřejnila na Printables bezplatné 3D modely příslušenství do svých vozů (držáky na nápoje, pomůcky pro vedení kabelů, mincovníky, háčky na USB kabely a čepice pro kapsy na zadních stranách opěradel sedadel, držáky na telefony a úchyty pro horní upevnění bezpečnostních pásů).

    Ladislav Hagara | Komentářů: 7
    včera 05:11 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 170 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Bezpečnostní upozornění

    Dnes v 16:00 (14:00 UTC) budou opraveny 2 kritické zranitelnosti s CVSS 9.2 v PHP.

    Ladislav Hagara | Komentářů: 7
    včera 01:37 | Bezpečnostní upozornění

    Nizozemská policie 13. října 2026 zabavila v datacentru Amsterdam Science Park server italského poskytovatele internetových služeb Autistici/Inventati (A/I), a to na základě americké žádosti o mezinárodní právní pomoc.… více »

    vencour | Komentářů: 10
    20.10. 20:47 | Bezpečnostní upozornění
    Hlášeny RCE v NGINX. Náprava dostupná. … více »
    vencour | Komentářů: 0
    20.10. 20:33 | IT novinky

    Do 26. října do 18:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | říjen 2026 (YouTube) doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    20.10. 20:22 | Zajímavý software

    Čínská technologická společnost DeepSeek zveřejnila na GitHubu svůj framework DeepInfer, nástroj pro efektivní offline inferenci svého modelu DeepSeek-V4.1-Flash ve velkém měřítku. Software běží na Linuxu a nativně podporuje akcelerátory Nvidia ale i čipy Huawei Ascend 950. Jedná se pouze o samotný inferenční engine, ne kompletní produkční službu. Zdrojový kód je dostupný pod licencí Apache 2.0.

    ❗Červivý Hřib krade❗ | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2888 hlasů
     Komentářů: 33, poslední 20.10. 23:44
    Rozcestník

    Stav Toolkitu

    5.8.2006 17:54 | Přečteno: 1164× | 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ákno • Nahoru

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