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í
×
    26.12. 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

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

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 7
    26.12. 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    26.12. 03:33 | Nová verze

    Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    25.12. 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 30
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (36%)
     (2%)
     (18%)
     (2%)
     (2%)
     (2%)
     (14%)
     (14%)
     (10%)
    Celkem 125 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník

    Stav Toolkitu

    5.8.2006 17:54 | Přečteno: 930× | 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.