3 * Abstract base class of all dialogs.
4 * Author: Allan Rae <rae@lyx.org>
6 * ======================================================
8 * LyX, The Document Processor
10 * Copyright 1995 Matthias Ettrich
11 * Copyright 1995-2000 The LyX Team.
13 * This file Copyright 2000
15 * ======================================================
20 #include <sigc++/signal_system.h>
21 #include <boost/utility.hpp>
23 // If we do not want to bring them in global namespace, they could be
24 // defined inside DialogBase... (JMarc)
25 #ifdef SIGC_CXX_NAMESPACES
26 using SigC::Connection;
32 /** Abstract base class of all dialogs.
33 The outside world only needs some way to tell a dialog when to show, hide
34 or update itself. A dialog then takes whatever steps are necessary to
35 satisfy that request. Thus a dialog will have to "pull" the necessary
36 details from the core of the program.
38 class DialogBase : public Object, public noncopyable
41 /**@name Constructors and Deconstructors */
44 virtual ~DialogBase() {}
47 /**@name Signal Targets */
50 virtual void show() = 0;
52 virtual void hide() = 0;
54 virtual void update() {};
56 virtual void close() {};
60 #endif // DIALOGBASE_H