3 * John Levon, moz@compsoc.man.ac.uk
6 /***************************************************************************
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. *
13 ***************************************************************************/
18 #include "DialogBase.h"
20 #include "boost/utility.hpp"
21 #include "insets/insetcommand.h"
27 class FormRef : public DialogBase, public noncopyable {
29 /**@name Constructors and Destructors */
32 FormRef(LyXView *, Dialogs *);
37 /// double-click a ref
38 void select(const char *);
40 void highlight(const char *);
43 /// goto a ref (or back)
46 void update(bool = false);
47 /// update just the refs
51 /// close the connections
56 REF, PAGEREF, VREF, VPAGEREF, PRETTYREF
63 /// Create the dialog if necessary, update it and display it.
68 /// create a Reference inset
69 void createRef(string const &);
70 /// edit a Reference inset
71 void showRef(InsetCommand * const);
73 /// update the keys list
74 void updateRefs(void);
76 /// Real GUI implementation.
79 /// the LyXView we belong to
82 /** Which Dialogs do we belong to?
83 Used so we can get at the signals we have to connect to.
86 /// pointer to the inset if any
87 InsetCommand * inset_;
89 InsetCommandParams params;
90 /// is the inset we are reading from a readonly buffer ?
95 /// Update connection.
97 /// Inset hide connection.
100 /// to sort or not to sort
109 /// available references
110 std::vector< string > refs;