1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 #ifndef GTV_APPLICATION_WINDOW_H
11 #define GTV_APPLICATION_WINDOW_H
15 #include <LibreOfficeKit/LibreOfficeKitEnums.h>
17 #include "gtv-main-toolbar.hxx"
21 struct GtvRenderingArgs
23 std::string m_aLoPath
;
24 std::string m_aUserProfile
;
25 bool m_bEnableTiledAnnotations
;
28 std::string m_aBackgroundColor
;
29 bool m_bHidePageShadow
;
30 bool m_bHideWhiteSpace
;
33 : m_bEnableTiledAnnotations(false),
35 m_bHidePageShadow(false),
36 m_bHideWhiteSpace(false)
42 #define GTV_TYPE_APPLICATION_WINDOW (gtv_application_window_get_type())
43 #define GTV_APPLICATION_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTV_TYPE_APPLICATION_WINDOW, GtvApplicationWindow))
44 #define GTV_IS_APPLICATION_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTV_TYPE_APPLICATION_WINDOW))
45 #define GTV_APPLICATION_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTV_TYPE_APPLICATION_WINDOW, GtvApplicationWindowClass))
46 #define GTV_IS_APPLICATION_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTV_TYPE_APPLICATION_WINDOW))
47 #define GTV_APPLICATION_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTV_TYPE_APPLICATION_WINDOW, GtvApplicationWindowClass))
49 struct GtvApplicationWindow
51 GtkApplicationWindow parent_instance
;
53 GtkWidget
* scrolledwindow
;
54 GtkWidget
* lokdocview
;
55 LibreOfficeKitDocumentType doctype
;
59 GtkWidget
* cornerarea
;
61 GtkWidget
* commentssidebar
;
64 GtkWidget
* redlinelabel
;
65 GtkWidget
* findbarlabel
;
66 GtkWidget
* findbarEntry
;
69 GtkWidget
* findtoolbar
;
72 struct GtvApplicationWindowClass
74 GtkApplicationWindowClass parentClass
;
77 GType
gtv_application_window_get_type (void) G_GNUC_CONST
;
79 GtvApplicationWindow
* gtv_application_window_new(GtkApplication
* application
);
81 void gtv_application_window_load_document(GtvApplicationWindow
* application
,
82 const GtvRenderingArgs
* aArgs
,
83 const std::string
& aDocPath
);
85 void gtv_application_window_create_view_from_window(GtvApplicationWindow
* window
);
87 void gtv_application_window_get_visible_area(GtvApplicationWindow
* pWindow
, GdkRectangle
* pArea
);
89 void gtv_application_window_toggle_findbar(GtvApplicationWindow
* window
);
91 GtkToolItem
* gtv_application_window_find_tool_by_unocommand(GtvApplicationWindow
* window
, const std::string
& unoCmd
);
93 GtvMainToolbar
* gtv_application_window_get_main_toolbar(GtvApplicationWindow
* window
);
95 void gtv_application_window_set_toolbar_broadcast(GtvApplicationWindow
* window
, bool broadcast
);
97 gboolean
gtv_application_window_get_toolbar_broadcast(GtvApplicationWindow
* window
);
99 void gtv_application_window_set_part_broadcast(GtvApplicationWindow
* window
, bool broadcast
);
101 gboolean
gtv_application_window_get_part_broadcast(GtvApplicationWindow
* window
);
103 void gtv_application_window_register_child_window(GtvApplicationWindow
* window
, GtkWindow
* pChildWin
);
105 void gtv_application_window_unregister_child_window(GtvApplicationWindow
* window
, GtkWindow
* pChildWin
);
107 GtkWindow
* gtv_application_window_get_child_window_by_id(GtvApplicationWindow
* window
, guint nWinId
);
109 GtkWidget
* gtv_application_window_get_parent(GtvApplicationWindow
* window
, guint nWinId
);
113 #endif /* GTV_APPLICATION_WINDOW_H */
115 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */