// // Created by selim on 10.05.2022. // #ifndef AUTOCAT_GNOME_WINDOW_H #define AUTOCAT_GNOME_WINDOW_H #include "Application.h" #include #include namespace gtkpp { class Window { protected: GtkBuilder* _builder; GtkWindow* _window; std::weak_ptr _app; private: friend bool operator==(const Window& wnd1, const Window& wnd2); public: Window(std::shared_ptr app, bool isAppWindow); Window(std::shared_ptr app, const char* resourceName); void show(); void hide(); void setTitle(const std::string& title); void setDefaultSize(int width, int height); [[nodiscard]] GtkWindow* gobj() const; [[nodiscard]] std::shared_ptr application() const; }; } #endif //AUTOCAT_GNOME_WINDOW_H