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 04:44 | Komunita

Před týdnem společnost Feral Interactive zabývající se vydáváním počítačových her pro operační systémy macOS a Linux oznámila, že pro macOS a Linux vydají hru Rise of the Tomb Raider. Včera společnost oznámila (YouTube), že pro macOS a Linux vydají také hru Total War Saga: Thrones of Britannia. Verze pro Windows by měla vyjít 19. dubna. Verze pro macOS a Linux krátce na to.

Ladislav Hagara | Komentářů: 0
včera 21:33 | Nová verze

Byla vydána nová major verze 7.10 svobodného systému pro řízení vztahů se zákazníky (CRM) s názvem SuiteCRM (Wikipedie). Jedná se o fork systému SugarCRM (Wikipedie). Zdrojové kódy SuiteCRM jsou k dispozici na GitHubu pod licencí AGPL.

Ladislav Hagara | Komentářů: 0
včera 16:44 | Nová verze

Byla vydána nová verze 0.30 display serveru Mir (Wikipedie) a nová verze 2.31 nástrojů snapd pro práci s balíčky ve formátu snap (Wikipedie). Z novinek Miru vývojáři zdůrazňují vylepšenou podporu Waylandu nebo možnost sestavení a spouštění Miru ve Fedoře. Nová verze snapd umí Mir spouštět jako snap.

Ladislav Hagara | Komentářů: 0
včera 14:00 | Komunita

Na Indiegogo běží kampaň na podporu Sway Hackathonu, tj. pracovního setkání klíčových vývojářů s i3 kompatibilního dlaždicového (tiling) správce oken pro Wayland Sway. Cílová částka 1 500 dolarů byla vybrána již za 9 hodin. Nový cíl 2 000 dolarů byl dosažen záhy. Vývojáři přemýšlejí nad dalšími cíli.

Ladislav Hagara | Komentářů: 1
včera 11:11 | Nasazení Linuxu

Před dvěma týdny se skupina fail0verflow (Blog, Twitter, GitHub) pochlubila, že se jim podařilo dostat Linux na herní konzoli Nintendo Switch. O víkendu bylo Twitteru zveřejněno další video. Povedlo se jim na Nintendo Switch rozchodit KDE Plasmu [reddit].

Ladislav Hagara | Komentářů: 3
včera 05:55 | Komunita

Byla vydána vývojová verze 3.2 softwaru Wine (Wikipedie), tj. softwaru, který vytváří aplikační rozhraní umožňující chod aplikací pro Microsoft Windows také pod GNU/Linuxem. Z novinek lze zdůraznit například podporu HID gamepadů. Aktuální stabilní verze Wine je 3.0, viz verzování. Nejistá je budoucnost testovací větve Wine Staging s řadou experimentálních vlastností. Současní vývojáři na ni již nemají čas. Alexandre Julliard, vedoucí projektu Wine, otevřel v diskusním listu wine-devel diskusi o její budoucnosti.

Ladislav Hagara | Komentářů: 2
18.2. 16:55 | Komunita

Do 22. března se lze přihlásit do dalšího kola programu Outreachy (Wikipedie), jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 14. května do 14. srpna 2018, v participujících organizacích lze vydělat 5 500 USD.

Ladislav Hagara | Komentářů: 46
17.2. 15:44 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice dnes slaví 6 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně ale byla založena až 17. února 2012. Poslední lednový den byl vydán LibreOffice 6.0. Dle zveřejněných statistik byl za dva týdny stažen již cca milionkrát.

Ladislav Hagara | Komentářů: 1
17.2. 04:44 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že byla vydána nová verze 1.2.3 svobodného routovacího démona Quagga (Wikipedie) přinášející několik bezpečnostních záplat. Při nejhorší variantě může dojít až k ovládnutí běžícího procesu, mezi dalšími možnostmi je únik informací z běžícího procesu nebo odepření služby DoS. Konkrétní zranitelnosti mají následující ID CVE-2018-5378, CVE-2018-5379, CVE-2018-5380 a CVE-2018-5381.

Ladislav Hagara | Komentářů: 0
17.2. 00:22 | Pozvánky

V sobota 7. dubna proběhne v Brně na FIT VUT nekomerční konference Security Session '18 věnovaná novinkám a aktuálním problémům v oblasti bezpečnosti mobilních a informačních technologií. Organizátoři vyhlásili CFP. Návrhy přednášek a workshopů lze zaslat do 4. března. Spuštěna byla registrace.

Ladislav Hagara | Komentářů: 0
Který webový vyhledávač používáte nejčastěji?
 (2%)
 (28%)
 (62%)
 (2%)
 (3%)
 (1%)
 (1%)
 (1%)
Celkem 374 hlasů
 Komentářů: 34, poslední 14.2. 18:44
    Rozcestník

    Dotaz: Hotové widgety pro konzolové aplikace

    20.4.2009 20:33 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
    Hotové widgety pro konzolové aplikace
    Přečteno: 723×
    Zdravím všechny,

    vytvářím v C++ konzolovou aplikaci - nástroj pro generování několika konfiguráků pro síťové služby plus sledování jejich stavu.

    Hledám nějakou knihovnu s hotovými widgety pro takovou aplikaci. Konkrétně potřebuju listbox (ideálně s podporou pro více sloupců), menu a formulář se vstupními poli typu edit, masked edit, checkbox a combobox (a samozřejmě tlačítky OK a Storno). V ideálním případě i menu (typu MC pod klávesou F9).

    Abych byl úplně přesný, ta aplikace v mých představách je v podstatě takový htop s několika dialogovými okny ve stylu Midnight Commanderu (některé dialogy obsahují listbox, některé formulář se vstupními poli).

    Prozatím jsem v rámci poznávání/zkoumání sám implementoval ten vícesloupcový listbox za použití ncurses knihovny. Celkem jsem si ho vymazlil, ale vzalo to skoro tři dny, a počítám, že implementace plusmínus univerzálního widgetu, na kterém by se daly stavět dialogy se vstupními poli různých typů, si vezme ještě mnohem víc. Jelikož mi to v dané situaci připadá jako vynalézání kola, poohlížím se po něčem hotovém, ale nedaří se mi najít nic připraveného k dalšímu použití.

    Nevěděl by někdo o něčem? Pokud to bude na ncurses, stačí mi ty formuláře, pokud by to bylo na s-lang, potřebuju i listbox.

    Jako záložní řešení mám kuchání zdrojáků MC, ale fakt se mi nezdá, že by nic lepšího už dávno neexistovalo.
    ~ w w w w (oo)   [oo] w w w w ~

    Odpovědi

    20.4.2009 20:35 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
    Rozbalit Rozbalit vše Re: Hoové widgety pro konzolové aplikace
    Ještě jsem zapomněl dodat, že jsem zkoušel experimentovat i s CDK knihovnou, ale jednak mi přijde značně nepěkná (ve srovnání s MC dialogy) a jednak jsem nepřišel, jak vyrobit formulář, na kterém by bylo najednou textové vstupní pole (edit), formátované vstupní pole (masked edit), combobox a checkbox.
    ~ w w w w (oo)   [oo] w w w w ~
    21.4.2009 08:25 nigol
    Rozbalit Rozbalit vše Re: Hoové widgety pro konzolové aplikace

    Co třeba Turbo Vision? tvision.sourceforge.net/ ale nevím jak je na tom, já jsem TV použil naposled pod DOSem.

    26.4.2009 20:25 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
    Rozbalit Rozbalit vše Re: Hoové widgety pro konzolové aplikace

    Díky za tip, TVision je asi přesně to, co jsem měl na mysli.

    Mám ale problém - nejde mi zkompilovat (jakože samotné knihovny) - zkoušel jsem odkazovanou GPL verzi i BSD fork ze stránek Sergio Sigaly.

    Odhaduji, že mi pro kompilaci chybí nějaké další knihovny, ale nedaří se mi dohledat, jaké to vlastně jsou.

    Tady jsou výpisy z kompilace (v obou případech samozřejmě nejdřív spouštím ./configure, které proběhne úspěšně):

    GPL rhtvision 2.0.3 (verze pro Linux):

    $ make
    make -C makes -f librhtv.mkf
    make[1]: Entering directory `/home/eregon/prac/tvision/tvision/makes'
    g++  -I../include        -O2 -pipe  -c ../compat/iffilelen.cc -o ../makes/obj/iffilelen.o
    In file included from /usr/include/c++/4.2/bits/locale_facets.h:4599,
                     from /usr/include/c++/4.2/bits/basic_ios.h:44,
                     from /usr/include/c++/4.2/ios:50,
                     from /usr/include/c++/4.2/istream:44,
                     from /usr/include/c++/4.2/fstream:45,
                     from ../include/compatlayer.h:2054,
                     from ../compat/iffilelen.cc:12:
    /usr/include/c++/4.2/x86_64-linux-gnu/bits/messages_members.h: In member function ‘typename std::messages<_CharT>::catalog std::messages<_CharT>::open(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::locale&, const char*) const’:
    /usr/include/c++/4.2/x86_64-linux-gnu/bits/messages_members.h:69: error: there are no arguments to ‘bindtextdomain’ that depend on a template parameter, so a declaration of ‘bindtextdomain’ must be available
    /usr/include/c++/4.2/x86_64-linux-gnu/bits/messages_members.h:69: error: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
    /usr/include/c++/4.2/x86_64-linux-gnu/bits/messages_members.h: In member function ‘virtual typename std::messages<_CharT>::catalog std::messages<_CharT>::do_open(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::locale&) const’:
    /usr/include/c++/4.2/x86_64-linux-gnu/bits/messages_members.h:89: error: there are no arguments to ‘textdomain’ that depend on a template parameter, so a declaration of ‘textdomain’ must be available
    make[1]: *** [../makes/obj/iffilelen.o] Error 1
    make[1]: Leaving directory `/home/eregon/prac/tvision/tvision/makes'
    make: *** [static-lib] Error 2
    

    BSD tvision 0.8:

    $ make
    cd . \
              && CONFIG_FILES= CONFIG_HEADERS=config.h \
                 /bin/sh ./config.status
    config.status: creating config.h
    config.status: config.h is unchanged
    make  all-recursive
    make[1]: Entering directory `/home/eregon/prac/tvision/tvision-0.8'
    Making all in doc
    make[2]: Entering directory `/home/eregon/prac/tvision/tvision-0.8/doc'
    make[2]: Nothing to be done for `all'.
    make[2]: Leaving directory `/home/eregon/prac/tvision/tvision-0.8/doc'
    Making all in lib
    make[2]: Entering directory `/home/eregon/prac/tvision/tvision-0.8/lib'
    source='TApplication.cc' object='TApplication.o' libtool=no \
            depfile='.deps/TApplication.Po' tmpdepfile='.deps/TApplication.TPo' \
            depmode=gcc3 /bin/sh ../depcomp \
            g++ -DHAVE_CONFIG_H -I. -I. -I.. -I..    -g -O2 -c -o TApplication.o `test -f TApplication.cc || echo './'`TApplication.cc
    In file included from /usr/include/c++/4.2/backward/iostream.h:31,
                     from ./tvision/tobjstrm.h:416,
                     from ./tvision/tv.h:635,
                     from TApplication.cc:20:
    /usr/include/c++/4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
    In file included from ./tvision/tv.h:635,
                     from TApplication.cc:20:
    ./tvision/tobjstrm.h:289: error: a class-key must be used when declaring a friend
    ./tvision/tobjstrm.h:289: error: friend declaration does not name a class or function
    ./tvision/tobjstrm.h:344: error: a class-key must be used when declaring a friend
    ./tvision/tobjstrm.h:344: error: friend declaration does not name a class or function
    ./tvision/tobjstrm.h:378: error: a class-key must be used when declaring a friend
    ./tvision/tobjstrm.h:378: error: friend declaration does not name a class or function
    In file included from ./tvision/tobjstrm.h:416,
                     from ./tvision/tv.h:635,
                     from TApplication.cc:20:
    /usr/include/c++/4.2/backward/iostream.h:38: error: ‘streambuf’ is already declared in this scope
    In file included from ./tvision/tv.h:635,
                     from TApplication.cc:20:
    ./tvision/tobjstrm.h:426: error: a class-key must be used when declaring a friend
    ./tvision/tobjstrm.h:426: error: friend declaration does not name a class or function
    ./tvision/tobjstrm.h:589: error: ‘streampos’ does not name a type
    ./tvision/tobjstrm.h:594: error: expected ‘;’ before ‘(’ token
    ./tvision/tobjstrm.h:607: error: expected ‘;’ before ‘(’ token
    ./tvision/tobjstrm.h:766: error: ‘streampos’ does not name a type
    ./tvision/tobjstrm.h:771: error: expected ‘;’ before ‘(’ token
    ./tvision/tobjstrm.h:784: error: expected ‘;’ before ‘(’ token
    make[2]: *** [TApplication.o] Error 1
    make[2]: Leaving directory `/home/eregon/prac/tvision/tvision-0.8/lib'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/eregon/prac/tvision/tvision-0.8'
    make: *** [all] Error 2
    

    ~ w w w w (oo)   [oo] w w w w ~
    26.4.2009 20:32 Marble | skóre: 27 | blog: marble | Švédsko
    Rozbalit Rozbalit vše Re: Hoové widgety pro konzolové aplikace
    Vzpoměl jsem si na cursed GTK, ale netuším, jak moc je to použitelné. Pak už maximálně otázka, jestli ty dialogy musí být v C. Já bych to asi řešil shellem a něčím jako prográmek dialog.
    26.4.2009 20:37 Marble | skóre: 27 | blog: marble | Švédsko
    Rozbalit Rozbalit vše Re: Hoové widgety pro konzolové aplikace
    Tak koukám pořádně na zadání a shell asi nebude úplně ideální. Ale to GTK možná jo. Nicméně nikdy jsem to nezkoušel a projekt skončil jako beta.
    28.4.2009 14:05 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
    Rozbalit Rozbalit vše Re: Hoové widgety pro konzolové aplikace
    Díky, koukal jsem, ale cursed GTK už mi připadá jako příliš těžký kalibr na to, co potřebuju, zatímco dialog, se kterým jsem si hrál už předtím, je příliš jednoduchý - nebo aspoň jsem nepřišel na to, jak vyrobit dialogové okno, kde budou vstupní pole různých typů (editbox, combobox a checkbox).

    Pokud by to dialog uměl, pak by mi asi stačil.
    ~ w w w w (oo)   [oo] w w w w ~
    27.4.2009 16:04 pozortucnak | skóre: 21 | blog: vecny_windowsar
    Rozbalit Rozbalit vše Re: Hotové widgety pro konzolové aplikace
    Mimo mísu, ale taková okýnka se dají jednoduše delat ve fpc...
    Jsem mimořádně obtížný případ
    28.4.2009 13:10 joe
    Rozbalit Rozbalit vše Re: Hotové widgety pro konzolové aplikace
    To je to výše zmiňované Turbo Vision.
    Fuky avatar 28.4.2009 13:03 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Hotové widgety pro konzolové aplikace
    Mrkni se na NCURSES Programming HOWTO mimo knihoven -lmenu -lform -lpanel je tam i zmíňka o CDK (Curses Development Kit).
    28.4.2009 14:10 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
    Rozbalit Rozbalit vše Re: Hotové widgety pro konzolové aplikace
    Díky za tip, nicméně tohle HOWTO už mám načtené a i s CDK jsem se dost napokoušel, viz moje doplnění dotazu.
    ~ w w w w (oo)   [oo] w w w w ~
    28.4.2009 20:28 Někdo jiný | skóre: 18 | blog: Někde jinde
    Rozbalit Rozbalit vše Re: Hotové widgety pro konzolové aplikace
    Zkus se podívat na whiptail nebo newt.
    28.4.2009 23:31 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
    Rozbalit Rozbalit vše Re: Hotové widgety pro konzolové aplikace
    Díky i za tenhle tip, ale i na tohle jsem se už díval - newt je ekvivalent ncurses, ale neobsahuje žádné widgety, což je to, co já hledám.

    Whiptail by mohl být fajn, ale stejně jako u řešení zmíněných výše jsem nepřišel na to, jak dostat do jednoho dialogového okna více vstupních polí. Navíc se mi jeví, že whiptail má widgety v sobě zadrátované (pletu se?), což je nepohodlné, pokud to chci použít ve vlastní C++ aplikaci namísto z shellu.

    To se mi víc líbí dialog, který je frontendem k libdialog, která se dá přilinkovat i k jiné aplikaci. Ovšem ani u toho dialogu/libdialogu netuším, jak do jednoho dialogu dostat víc vstupních polí - pokud by to šlo, tak jsem spokojený člověk.
    ~ w w w w (oo)   [oo] w w w w ~
    28.4.2009 23:34 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
    Rozbalit Rozbalit vše Re: Hotové widgety pro konzolové aplikace
    ale neobsahuje žádné widgety, což je to, co já hledám
    Tím samozřejmě myslím to, že já hledám ty widgety, ne knihovnu o úroveň níž.
    ~ w w w w (oo)   [oo] w w w w ~
    28.4.2009 23:38 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
    Rozbalit Rozbalit vše Re: Hotové widgety pro konzolové aplikace
    Zatím ze všech řešení, která tu byla zmíněna, asi požadavkům vyhovuje jen TurboVision, který mi ale nejde zkompilovat :(

    Nemohl by to někdo vyzkoušet u sebe? Třeba je problém s mojí konfigurací (Kubuntu 8.04 64-bit - žádné speciální úpravy týkající se vývoje).
    ~ w w w w (oo)   [oo] w w w w ~
    29.4.2009 08:53 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: Hotové widgety pro konzolové aplikace

    Ahoj,

    Tak jsem to zkusil (svn snapshot od rthvision - rhtvision-2.1.0.src.tar.gz) - kompilace v pohode, priklady chodi.

    Postup:

    $ ./configure --prefix=/home/chocholj/usr
    Configuring Turbo Vision v2.1.0 library

    Determining OS: UNIX [Linux]
    Looking for a working gcc: gcc OK
    C flags: -O2 -pipe -Wno-packed
    C++ flags: -O2 -pipe -Wno-packed
    Looking for the C++ compiler: g++
    Checking Architecture: x86
    Looking for pointer size:  32 bits
    Looking for prefix: /home/chocholj/usr (cached/specified)
    Checking if this system follows the FHS: no
    Looking for GNU make: make
    Looking for GNU ar: ar
    Looking for install tool: install
    Looking for xgettext: 0.17
    Looking for gpm library: 1.20.1 OK
    Looking for ncurses library: 5.5 OK
    Checking if ncurses have define_key: yes
    Looking for X keysyms definitions:  yes OK
    Looking for X11 libs: yes OK (X11 rev 0)
    Looking for outb definition in sys/io.h: yes
    Checking for international support: yes OK
    Checking endianess: little endian

    Generating Makefile
    Configuring makefiles: intl/dummy/Makefile
    Configuring RHIDE: makes/rhide.env compat/rhide.env
    Configuring RHIDE: examples/rhide.env
    Generating configuration header: no changes
    Extracting from makes/librhtv.imk: processing
    Extracting from compat/compat.imk: processing
    Processing winnt/bccmake.in => winnt/Makefile
    Processing winnt/msvcmake.in => winnt/Makefile.nmk
    Makefiles for examples.
    Makefiles for translations.
    Processing intl/gnumake.in => intl/Makefile
    Processing redhat/librhtv.spec.in => redhat/librhtv-2.1.0.spec
    Processing qnxrtp/tvision.qpg.in => qnxrtp/tvision.qpg
     
     
    $ make -j 3
    make -C makes -f librhtv.mkf
    gcc -o rhtv-config -Iinclude rhtv-config.c
    make -C intl/dummy
    make[1]: Entering directory `/home/chocholj/src/tvision/makes'
    gcc  -I../include -I/usr/X11R6/include        -O2 -pipe -Wno-packed -c ../compat/beep.c -o ../makes/obj/beep.o
    make[1]: Entering directory `/home/chocholj/src/tvision/intl/dummy'
    gcc    -c -o intldummy.o intldummy.c
    ar -rv libtvfintl.a intldummy.o
    ar: creating libtvfintl.a
    a - intldummy.o
    make[1]: Leaving directory `/home/chocholj/src/tvision/intl/dummy'
    cp intl/dummy/libtvfintl.a makes
    make -C intl
    make[1]: Entering directory `/home/chocholj/src/tvision/intl'
    msgfmt -o es.mo es.po
    msgfmt -o ru.mo ru.po
    gcc  -I../include -I/usr/X11R6/include        -O2 -pipe -Wno-packed -c ../compat/drivevalid.c -o ../makes/obj/drivevalid.o
    msgfmt -o pl.mo pl.po
    make[1]: Leaving directory `/home/chocholj/src/tvision/intl'
    make DYNAMIC_LIB=1 -C makes -f librhtv.mkf
    make[1]: Entering directory `/home/chocholj/src/tvision/makes'
    gcc  -I../include -I/usr/X11R6/include      -fPIC  -O2 -pipe -Wno-packed -c ../compat/beep.c -o ../makes/obj/beep.lo
    ....

     

    System je Centos 5.2, gcc 4.1.2

    29.4.2009 18:10 Eregon | skóre: 22 | blog: Eregonovy_vymysly | Všudezdejší
    Rozbalit Rozbalit vše Re: Hotové widgety pro konzolové aplikace
    Díky, SVN snapshot se zkompiloval i mně (předtím jsem zkoušel jen stable verze).

    Trošku mě mrzí, že se mi nepovedlo zkompilovat BSD verzi, protože vypadá, že má lepší dokumentaci, ale hádám, že to nebude problém.

    Za pomoc všem patří moje velké díky.
    ~ w w w w (oo)   [oo] w w w w ~

    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.