medit/moo/mooedit/mooeditor-private.h

54 lines
1.5 KiB
C
Raw Normal View History

/*
* mooeditor-private.h
*
2015-12-30 00:12:49 -08:00
* Copyright (C) 2004-2015 by Yevgen Muntyan <emuntyan@users.sourceforge.net>
*
* This file is part of medit. medit is free software; you can
* redistribute it and/or modify it under the terms of the
* GNU Lesser General Public License as published by the
* Free Software Foundation; either version 2.1 of the License,
* or (at your option) any later version.
*
* You should have received a copy of the GNU Lesser General Public
* License along with medit. If not, see <http://www.gnu.org/licenses/>.
*/
2015-12-30 00:12:49 -08:00
#pragma once
2015-12-30 00:12:49 -08:00
#include <vector>
2010-11-23 21:54:39 -08:00
#include "mooedit/mooeditor-impl.h"
#include "mooedit/moolangmgr.h"
2015-12-30 22:23:51 -08:00
#include "moocpp/gobjectptr.h"
2015-12-30 00:12:49 -08:00
#include "moocpp/utils.h"
2015-12-30 00:12:49 -08:00
using namespace moo;
2015-12-30 00:12:49 -08:00
enum MooEditorOptions {
2010-11-23 21:54:39 -08:00
OPEN_SINGLE = 1 << 0,
ALLOW_EMPTY_WINDOW = 1 << 1,
SINGLE_WINDOW = 1 << 2,
SAVE_BACKUPS = 1 << 3,
STRIP_WHITESPACE = 1 << 4,
EMBEDDED = 1 << 5
};
2015-12-30 00:12:49 -08:00
MOO_DEFINE_FLAGS(MooEditorOptions);
2015-07-15 02:22:11 -07:00
2015-12-30 00:12:49 -08:00
struct MooEditorPrivate {
std::vector<MooEditPtr> windowless;
std::vector<MooEditWindow*> windows;
GObjRefPtr<MooUiXml> doc_ui_xml;
GObjRefPtr<MooUiXml> ui_xml;
GObjRefPtr<MooHistoryMgr> history;
RefPtr<MooFileWatch> file_watch;
MooEditorOptions opts;
GType window_type;
GType doc_type;
GObjRefPtr<MooLangMgr> lang_mgr;
2015-07-15 02:22:11 -07:00
2015-12-30 00:12:49 -08:00
MooEditorPrivate();
~MooEditorPrivate();
};