gtkmm je otevřený zdrojový, bezplatný, jednoduchý a přenosný příkazový software implementovaný v jazyce C ++ a určený z offsetu jako rozhraní k knihovně nástrojů GTK + GUI jako součásti GNOME desktopové prostředí.
Funkce na první pohled
Mezi nejzajímavější informace o gtkmm můžeme uvést typově bezpečné zpětné volání, stejně jako komplexní sadu widgetů, které jsou rozšiřitelné prostřednictvím dědičnosti. Jedná se o bezproblémové zpracování signálů, plnou internacionalizaci s UTF8, kompletní správu paměti C ++ (složení objektů a automatické deaktivace dynamicky přidělených widgetů), plné využití prostorových jmen C ++ a žádné makra.
Začínáme s gtkmm
Nejjednodušší způsob instalace projektu gtkmm v systému GNU / Linux je prostřednictvím výchozího správce balíků / repozitářů softwaru vaší distribuce. Pokud balíček není k dispozici v hlavních softwarových repochách vašeho distro, můžete si stáhnout zdrojový balík z softwarového softwaru.
Chcete-li nainstalovat gtkmm, uložit archiv tar na místo, které si vyberete, rozbalte jeho obsah, otevřete emulátor terminálu, přejděte na místo extrahovaného archivního souboru pomocí příkazu & lsquo; cd & rsquo; příkaz & execute & lsquo; ./ configure && make & rsquo; příkaz k optimalizaci a kompilaci zdrojového kódu.
Poté musíte spustit instalaci & rsquo; příkaz root nebo sudo k zavedení celého programového systému gtkmm, který je zpřístupní všem uživatelům. Různé ukázky jsou poskytovány vývojářům GTK ve složce / demos ve složce zdrojů.
Podporované operační systémy
gtkmm je projekt nezávislý na platformě, který podporuje GNU / Linux (kompiluje s GCC), NetBSD (kompiluje s GCC), FreeBSD (kompiluje s GCC), Solaris (kompiluje s GCC nebo Forte) nebo MSVC ++ .Net 2003/2005/2008) a operační systémy Mac OS X (kompiluje s GCC). V současné době jsou podporovány architektury 32bitových i 64bitových sad instrukcí. Je napsán výhradně v programovacím jazyce C ++.
Co je nového v této verzi:
- Gtk:
- Upravitelný, NedávnýChooser, Měřítko: Oprava netěsností paměti.
- PrintJob: Opravte volání Glib :: throw_exception ().
- Dokumentace:
- Gdk :: RGBA: Aktualizace dokumentů ctor (ustring) z GTK +
Co je nového ve verzi:
- Gdk:
- Zlepšit událost Gdk :: Event, která vytvoří hierarchii tříd. (Mark Vender, Kjell Ahlstedt) Chyba # 135978
- Kurzor: Změna kurzorového typu na kurzor :: Typ. (Murray Cumming)
- Zařízení: Změňte typ zařízení na kurzor :: Typ. (Murray Cumming)
- Pixbuf: - Odstraňte AlumMode enum. - Změňte PixbufRotation na Pixbuf :: Rotation. (Murray Cumming)
- Sedadlo: Změňte možnosti sedadla na sedadla :: Možnosti. (Murray Cumming)
- Visual: Změňte VisualType na Visual :: Type. (Murray Cumming)
- Okno: - Změna okna oken do okna :: Rady. - Změnit WindowTypeHint na Window :: TypeHint. - Změnit typ okna WindowType na Window :: Type. - Změnit okno Window State na Window :: State. (Murray Cumming)
- Gtk:
- Asistent: Změna asistentaPageType na pomocníka :: PageType. (Murray Cumming)
- Box: pack_start / pack_end (): Reimplementujte s novým GTK + API. (Funkce GtkWidget halign a hexpand) Funkce gtk_box_pack_start () a gtk_box_pack_end () již nemají argumenty expand a fill.Tyto parametry bychom mohli později také odstranit.Vyberte, že výchozí chování pack_start / pack_end () se nyní změnilo. Vytvořte PackOptions třídu enum pro přísnější kontrolu typu. (Murray Cumming)
- Builder :: get_widget_derived (): Udělat to statické. Chcete-li se vyhnout nutnosti vytvořit sdílenou_ptr k tomuto. (Murray Cumming) Chyba # 755037
- ButtonBox: Odstraňte zjevně nepoužitelný BUTTONBOX_DEFAULT_SPACING. (Murray Cumming)
- Aplikace: Změna aplikace ApplicationInhibitFlags na aplikaci :: InhibitFlags. (Murray Cumming)
- Kalendář: Změňte kalendář zobrazení do kalendáře :: Zobrazit :: Možnosti. (Murray Cumming)
- CellRendererAccel: Změňte CellRendererAccelMode na CellRendererAccel :: Mode. (Murray Cumming)
- CssSection: Změňte CssSectionType na CssSection :: Typewq. (Murray Cumming)
- Kontejner: - forall_vfunc (): Odstranit parametr include_internals. - Odstranit set_focus_child (), get_focus_child () atd. (Murray Cumming)
- Položka: Změna EntryIconPosition na položku :: IconPosition. (Murray Cumming)
- FileFilter: Změna souboru FileFilterFlags na FileFilter :: Flags. (Murray Cumming)
- FileChooser: - Změňte FileChooserConfirmation na FileChooser :: Confirmation. - Změňte FileChooserAction na FileChooser :: Action. (Murray Cumming)
- IconView: změna IconViewDropPosition na IconView :: DropPosition. (Murray Cumming)
- Obrázek: Změňte ImageType na Image :: Type. (Murray Cumming)
- Označení: Odebrat get / set_angle () a vlastnost. (Murray Cumming)
- LevelBar: Změňte LevelBarMode na LevelBar :: Mode. (Murray Cumming)
- Notebook: Odebrat zápisník NotebookTab. (Murray Cumming)
- Popup: Změňte PopoverConstraint na Popover :: Constraint. (Murray Cumming)
- PrintOperation: - Změňte PrintOperationAction na PrintOperation :: Action. - Změňte PrintOperationResult na PrintOperation :: Result. (Murray Cumming)
- Rozsah: Odchází od (a implementuje) orientovatelný. (Muray Cumming) Chyba # 781655 (Daniel Boles)
- RecentFilter: Změňte RecentFilterFlags na RecentFilter :: Flags. (Murray Cumming)
- Posuvný: Změňte položku ScrollablePolicy na položku Scrollable :: Policy. (Murray Cumming)
- Klávesové zkratkyKřih: Odvozte přímo z aplikace Widget. (Kjell Ahlstedt)
- SizeGroup: Přejmenovat velikost EngroumMode enum na SizeGroup :: Mode. (Murray Cumming)
- SpinButton: - Změňte SpinButtonUpdatePolicy na SpinButton :: UpdatePolicy. - Přesunout INPUT_ERROR do třídy. (Murray Cumming)
- TextConstIter (TextModel :: const_iterator): Přidat výchozí konstruktor. (Murray Cumming)
- TextMark: Vyvarujte se vytváření RefPtr. Přidáním soukromého TextBuffer :: get_iter_at_mark () (Murray Cumming) Bug # 755037 # c21
- TreeModel: Změna TreeModelFlags na TreeModel :: Vlajky. (Murray Cumming)
- TreeView: - Změňte TreeViewGridLines na GridLines. - Změňte TreeViewDropPosition na TreeView :: DropPosition. (Murray Cumming)
- TreeViewColumn: Změnit TreeViewColumnSizing na TreeViewColumn :: Velikost. (Murray Cumming)
- Widget: - Odstranit get_preferred_width () atd. (Kjell Ahlstedt) - Odstranit get / set_center_widget (). (Murray Cumming)
- Okno: - Remove get / set_hide_titlebar_when_maximized (). - Odstranit has_toplevel_focus () a vlastnost. (Murray Cumming)
- Dokumentace:
- Gtk :: CellLayout: Zlepšete docs funkce get_first_cell (). (Daniel Boles)
- Gtk :: TreeModel: Zlepšit funkce foreach * (). (Daniel Boles)
- Gdk, Gtk: Aktualizujte dokumentaci v enums ve třídě. (Kjell Ahlstedt)
- Demony: - Opravit provést kontrolu po změnách v Glib :: SignalProxy :: connect () (Kjell Ahlstedt) Chyba 126213 - Přizpůsobit změněnou strukturu boxu :: pack_start / pack_end (). Například: Zadejte EXPAND_WIDGET, kde jsme dříve použili výchozí hodnotu. (Murray Cumming)
- Demo Builder: Odstranit "rozbalit" vlastnost dítěte z souboru .ui Protože byla odebrána z GtkBoxu. Rozbalte položku ScrolledWindow. (Kjell Ahlstedt)
- Stavět:
- Přizpůsobte se změnám v kairomm a glibmm enum. (Murray Cumming)
- Upravte dynamické obsazení pro RefPtr jako std :: shared_ptr. (Murray Cumming)
- Visual Studio sestaví: Aktualizaci verze glibmm ABI. (Chun-wei Fan)
Co je nového ve verzi 3.89.5.1:
Co je nového ve verzi 3.89.3:
Co je nového ve verzi 3.89.1:
- Toto je první vydání gtkmm-4.0 API / ABI, zabalení GTK + -4.0. Instaluje se paralelně s rozhraním gktmm-3.0 API / ABI, jehož nejnovější verze je gtkmm 3.22.0.
- Sestavení / Obecné:
- Místo GTK + -3.0 použijte GTK + -4.0. (Kjell Ahlstedt)
- Použijte C ++ 14. (Murray Cumming)
- Použijte glibmm-2.52 namísto glibmm-2.4, pangomm-2.42 namísto pangomm-1.4 a atkmm-2.26 namísto atkmm-1.6. Všimněte si, že pomocí glibmm nyní používáme libsigc ++ - 3.0 namísto libsigc ++ - 2.0. (Murray Cumming)
- Odstraňte zastaralé rozhraní API. (Kjell Ahlstedt)
- Přidávejte výchozí ovladače signálů (na _ * ()), kde jsme nemohli dříve, aniž bychom porušili ABI. (Kjell Ahlstedt)
- Gtk:
- Kontejner: Značka add () není virtuální. (Kjell Ahlstedt)
- FontButton: Použijte a implementujte rozhraní FontChooser. (Kjell Ahlstedt)
- Štítky (): nepoužívejte zavádějící názvy argumentů zarovnání. (djb) Chyba # 774652
- Objekt: Odebrat gobject_disposed_. (Kjell Ahlstedt)
- ToolButton: Odvození a implementace rozhraní Actionable. (Kjell Ahlstedt)
- Widget: Přidat opatření () a measure_vfunc (), která nahrazuje get_preferred _ * _ vfunc (). (Kjell Ahlstedt)
- Okno: Zvýšení () není virtuální. (Kjell Ahlstedt)
- Dokumentace:
- Rámeček: Opravte dokumentaci souboru set_label_align () (Kjell Ahlstedt) Chyba # 774249
Co je nového ve verzi 3.22.0:
Co je nového ve verzi 3.21.4:
Co je nového ve verzi 3.19.6:
- Gtk:
- TextIter: Přidat start_tag (), deprecate begin_tag (). (Kjell Ahlstedt)
- TreeView: Opravte havárii v souboru get_tooltip_context_path () (Kjell Ahlstedt) Chyba # 760030.
- Gdk:
- Přidat Gdk :: Seat (Kjell Ahlstedt) Chyba # 759806.
- Zařízení:
- Přidat get_seat ().
- Deprecated grab () a ungrab ().
- DeviceManager, Displej: Přidat a zrušit (Kjell Ahlstedt) Chyba # 759806.
- DeviceManager: Odstranit seznam_devices () a get_client_pointer (). (Kjell Ahlstedt) Chyba # 759806.
- Displej:
- Depreciate get_device_manager ().
- Přidejte list_seats (), get_default_seat (), signal_seat_added () a signal_seat_removed (). (Kjell Ahlstedt) Chyba # 759806.
- Stavět:
- C ++ 11: Použijte klíčové slovo override namísto virtuální pro vhodné destruktory. (Murray Cumming)
Co je nového ve verzi 3.19.3:
Co je nového ve verzi 3.17.4:
- Asistent: Přidat get / set_page_has_padding (). (Murray Cumming)
- FontChooser: Přidat get / set_font_map (). (Murray Cumming)
- IconInfo: Odstranit get_builtin_pixbuf (). (Kjell Ahlstedt)
- IconTheme: lookup_icon (), choose_icon (): Přidání výchozího 0 pro příznaky. (Murray Cumming)
- Widget: Deprecated drag_begin () bez souřadnic. (Kjell Ahlstedt)
- Gdk:
- Okno: Přidat get / set_passthrough (). (Murray Cumming)
- Demo: IconTheme: Nepoužívejte zastaralé API vestavěné ikony. (Murray Cumming)
- Stavět:
- Nevypínejte více upozornění na odmítnutí, než je nutné (Kjell Ahlstedt) Bug # 750379.
Co je nového ve verzi 3.16.0:
Co je nového ve verzi 3.15.4:
- Gtk:
- Builder :: get_type_from_name_vfunc (): Zavolejte funkci základní třídy. Namísto volání g_type_from_name (), v případě, že funkce základní třídy provede více. (Kjell Ahlstedt) Chyba # 742637.
- TextBuffer:
- Přidat insert_martkup ().
- Přidejte vlastnosti copy_target_list a paste_target_list. (Kjell Ahlstedt)
- Dokumentace:
- Pixbuf: Změňte zmínku o Glib :: ResourceError na Gio :: ResourceError. (Kjell Ahlstedt)
Co je nové ve verzi 3.15.3:
- Gtk:
- CssProvider: Přidejte CssProviderError a signal_parsing_error () (Kjell Ahlstedt)
- Přidat CssSection. (Kjell Ahlstedt)
- Dialog: Opravte konstruktory s DialogFlags. (Kjell Ahlstedt) Chyba # 738513 (Simonas Kazlauskas)
- ScaleButton: - Opravte konstruktor. - Přidat konstruktor bez ikon. (Murray Cumming)
- ScrolledWindow: Přidat get / set_overlay_scrolling () a vlastnost. (Juan R. GarcA Blanco)
- Stack: Přidání homogenních a vhomogenních vlastností. (Juan R. GarcA Blanco)
- TextTag: Přidání vlastností záložní, záložní, mezery mezi písmeny a písmeny. (Juan R. GarcA Blanco)
- TextView: Přidejte vlastnost monospace. (Juan R. GarcA Blanco)
- Widget: Přidány funkce get_action_group () a list_action_prefixes (). (Murray Cumming)
- Dokumentace:
- Přidejte prázdný řádek po @newin, kde chybí. (Kjell Ahlstedt)
- Opravte některá upozornění Doxygen. (Kjell Ahlstedt)
- ScaleButton: Dokumentujte konstruktory. (Murray Cumming)
Co je nového ve verzi 3.15.2:
- Gtk:
- Dialog: Přidejte konstruktory s DialogFlags, například pro vytvoření dialogu se záhlavím. (Kjell Ahlstedt) Chyba # 738513.
- Grid: Přidejte attach_next_to () bez parametru "sibling". (Kjell Ahlstedt) Chyba # 739340.
- Překrytí: Opravte "od" dokumentaci.
- SearchEntry: Přidejte signál search_changed (Kjell Ahlstedt)
- Přidána vlastnost StyleProperty (Mark Vender) Chyba # 673317.
- Gdk
- Kurzor: Zrušte konstruktoru, který nevykazuje parametr zobrazení. (Murray Cumming)
- Pixbuf: Deprecated create_from_inline (). (Kjell Ahlstedt)
Co je nového ve verzi 3.14.0:
Co je nového ve verzi 3.11.4:
- Gtk:
- Akce, Aktivovatelné: Metody nepodporované, které nepoužívají položku StockID. Nechtěli jsme je nechat zastaralý. (Kjell Ahlstedt)
- CellArea: Přidejte signal_apply_attributes (). (Kjell Ahlstedt)
- SelectionData: Přidejte get_data (int a délka). (Kjell Ahlstedt)
- ToggleAction: Zrušit vytvoření (), který používá (zastaralý) StockID (Kjell Ahlstedt)
- ToolItem: Přidejte unset_proxy_menu_item (). (Kjell Ahlstedt)
- UIManager: Odložte vlastnost add-tearoffs. (Kjell Ahlstedt)
- Gdk:
- Pixbuf: Přidejte metody create_from_resource ().
- RGBA, Color: Fix set_hsl (), vylepšení dokumentace. (Kjell Ahlstedt) Chyba # 720258
- Stavět:
- CellArea: Oprava dokumentace typedef SlotForeachAlloc Extra '& gt' v dokumentaci uvězněný doxygen 1.8.4 v nekonečné smyčce. (Kjell Ahlstedt)
- Opravte sestavu s --disable-deprecated-api (Kjell Ahlstedt)
- Dokumentace:
- Přidejte chybějící obrázky widgetu. (Kjell Ahlstedt)
- AppChooser *: Zlepšení dokumentace. (Kjell Ahlstedt) Chyba # 650012
- ColorChooser :: get_rgba (): Přidat dokumentaci (Kjell Ahlstedt)
- SelectionData: Přidání metody docs. (Kjell Ahlstedt)
- ToolItem: Přidejte dokumenty třídy. (Kjell Ahlstedt)
Co je nového ve verzi 3.10.1:
- Gtk:
- Vyvarujte se zahrnutí zastaralých stockid.h. To umožňuje vytvářet aplikace s vypnutým rozhraním API.
- RadioAction, recentAction: Odstavení konstruktéři a metody, které berou StockID. StockID byl již zastaralý, takže by to nemělo mít vliv na vytváření aplikací.
Co je nového ve verzi 3.10.0:
- Gtk:
- Nepodporujte UIManager, Action, ActionGroup, ToggleAction, RadioAction a RecentAction, i když jsou stále zastaralé v C API: Viz https://mail.gnome.org/archives/gtkmm-list/2013-October/msg00003.html (Murray Cumming)
- RadioAction: Odstraňujte konstruktor, který používá StockID. (Murray Cumming)
- ToggleAction: Odstraňte konstruktor, který používá StockID (Murray Cumming)
- Aplikace: - add / remove_accelerator (): Přidání přetížení bez variantního parametru. (Murray Cumming) - Přidejte chybějící volání gtk_init () v jednom z konstruktorů. (Murray Cumming)
- Tlačítko: Odstraňte nepotřebné prohlášení BuiltinStockID. (Murray Cumming)
- HeaderBar: Vytvořte get_show_close_button () const. (Juan Rafael GarcAa Blanco)
- IconView: set_cursor (): Přidat verzi bez parametru buňky (Murray Cumming)
- PlacesSidebar: Opravte crash pomocí příkazů drag_signals, opravte některé příkazy OWNERSHIP_ *, projděte vektory pomocí odkazů v signálech (Murray Cumming) Chyba # 705642
- Nastavení: Přidejte create_action ().
- SearchBar: handle_event (): Vezměte GdkEventKey namísto GdkEvent. (Murray Cumming)
- Okno: get_frame_extents (): Přidat verzi const. (Murray Cumming)
- Gdk:
- Zrušit barvu. (Murray Cumming)
- Stavět:
- Aktualizovat projekty gtk-demo MSVC (Chun-wei Fan)
Co je nového ve verzi 3.9.14:
Co je nového ve verzi 3.9.12:
Komentáře nebyl nalezen