]> git.lyx.org Git - lyx.git/blob - src/frontends/kde/FormDocument.h
Move LaTeX and VC logs to GUI-I on xforms
[lyx.git] / src / frontends / kde / FormDocument.h
1 /* FormDocument.h
2  * (C) 2001 LyX Team
3  * John Levon, moz@compsoc.man.ac.uk
4  */
5
6 /***************************************************************************
7  *                                                                         *
8  *   This program is free software; you can redistribute it and/or modify  *
9  *   it under the terms of the GNU General Public License as published by  *
10  *   the Free Software Foundation; either version 2 of the License, or     *
11  *   (at your option) any later version.                                   *
12  *                                                                         *
13  ***************************************************************************/
14
15 #ifndef FORMDOCUMENT_H
16 #define FORMDOCUMENT_H
17
18 #include <vector>
19
20 #include "DialogBase.h"
21 #include "LString.h"
22 #include "boost/utility.hpp"
23
24 class Dialogs;
25 class LyXView;
26 class DocDialog;
27 class BufferParams;
28
29 /**
30  * \brief the LyXian side of the complex Document dialog
31  */
32 class FormDocument : public DialogBase, public noncopyable {
33 public:
34         /**@name Constructors and Destructors */
35         //@{
36         ///
37         FormDocument(LyXView *, Dialogs *);
38         ///
39         ~FormDocument();
40         //@}
41
42         /// Apply changes
43         void apply();
44         /// Update the dialog.
45         void update(bool switched = false);
46         /// close the connections
47         void close();
48         /// change the doc class
49         bool changeClass(BufferParams & params, int new_class);
50         
51 private:
52         /// Create the dialog if necessary, update it and display it.
53         void show();
54         /// Hide the dialog.
55         void hide();
56
57         /// Real GUI implementation.
58         DocDialog * dialog_;
59
60         /// the LyXView we belong to
61         LyXView * lv_;
62
63         /// Used so we can get at the signals we have to connect to.
64         Dialogs * d_;
65         
66         /// Hide connection.
67         Connection h_;
68         
69         /// is the buffer readonly ?
70         bool readonly;
71 };
72
73 #endif