]> git.lyx.org Git - lyx.git/blob - src/frontends/xforms/FormCopyright.h
Added lyx-func tabular-feature for menu structure.
[lyx.git] / src / frontends / xforms / FormCopyright.h
1 // -*- C++ -*-
2 /* FormCopyright.h
3  * FormCopyright Interface Class
4  * This file is part of
5  * ====================================================== 
6  *
7  *           LyX, The Document Processor
8  *
9  *           Copyright 1995 Matthias Ettrich
10  *           Copyright 1995-2000 The LyX Team.
11  *
12  *           This file Copyright 2000
13  *           Allan Rae
14  * ======================================================
15  */
16
17 #ifndef FORMCOPYRIGHT_H
18 #define FORMCOPYRIGHT_H
19
20 #include "DialogBase.h"
21 #include "form_copyright.h"
22 #include "support/utility.hpp"
23
24 #ifdef __GNUG__
25 #pragma interface
26 #endif
27
28 class Dialogs;
29 // same arguement as in Dialogs.h s/LyX/UI/
30 class LyXView;
31 struct FD_form_copyright;
32
33 /** This class provides an XForms implementation of the FormCopyright Dialog.
34  */
35 class FormCopyright : public DialogBase, public noncopyable {
36 public:
37         /**@name Constructors and Destructors */
38         //@{
39         /// #FormCopyright x(LyXFunc ..., Dialogs ...);#
40         FormCopyright(LyXView *, Dialogs *);
41         ///
42         ~FormCopyright();
43         //@}
44
45         /**@name Real per-instance Callback Methods */
46         //@{
47         static  int WMHideCB(FL_FORM *, void *);
48         static void OKCB(FL_OBJECT *, long);
49         //@}
50
51 private:
52         /**@name Slot Methods */
53         //@{
54         /// Create the dialog if necessary, update it and display it.
55         void show();
56         /// Hide the dialog.
57         void hide();
58         /// Not used but we've got to implement it.
59         void update() {}
60         //@}
61
62         /// Build the dialog
63         void build();
64         ///
65         FD_form_copyright * build_copyright();
66         /// Explicitly free the dialog.
67         void free();
68
69         /**@name Private Data */
70         //@{
71         /// Real GUI implementation.
72         FD_form_copyright * dialog_;
73         /** Which LyXFunc do we use?
74             We could modify Dialogs to have a visible LyXFunc* instead and
75             save a couple of bytes per dialog.
76         */
77         LyXView * lv_;
78         /** Which Dialogs do we belong to?
79             Used so we can get at the signals we have to connect to.
80         */
81         Dialogs * d_;
82         /// Hide connection.
83         Connection h_;
84         //@}
85 };
86
87 #endif
88