-/* This file is part of
- * ======================================================
- *
- * LyX, The Document Processor
- *
- * Copyright 2001 The LyX Team.
+// -*- C++ -*-
+/**
+ * \file ControlConnections.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * ======================================================
+ * \author Angus Leeming
*
- * \file ControlConnections.h
- * \author Angus Leeming <a.leeming@ic.ac.uk>
+ * Full author contact details are available in file CREDITS
*
* ControlConnections.h contains the definition of three controller classes,
* ControlConnectBase, ControlConnectBI and ControlConnectBD.
#ifndef CONTROLCONNECTIONS_H
#define CONTROLCONNECTIONS_H
-#ifdef __GNUG__
-#pragma interface
-#endif
#include "ControlButtons.h"
+#include <boost/signals/connection.hpp>
+
+class Buffer;
+class BufferView;
class Dialogs;
class LyXView;
+class LyXFunc;
/** Base class to control connection/disconnection of signals with the LyX
kernel. It is meant to be used solely as the parent class to
ControlConnectBI and ControlConnectBD.
*/
-class ControlConnectBase : public ControlButtons
-{
+class ControlConnectBase : public ControlButtons {
public:
///
enum DocTypes {
///
ControlConnectBase(LyXView &, Dialogs &);
/// The View may need to know if the buffer is read-only.
- bool isReadonly() const;
- ///
+ bool bufferIsReadonly() const;
+ ///
DocTypes docType() const;
-
protected:
/// True if the dialog depends on the buffer, else false.
virtual bool isBufferDependent() const = 0;
*/
void redraw();
- /// Get at the kernel Dispatch methods we need to apply() parameters.
+ /// a wrapper for BufferView::avaliable()
+ bool bufferIsAvailable() const;
+ /// a wrapper for LyXView::view()
+ BufferView * bufferview();
+ ///
+ BufferView const * bufferview() const;
+ /// a wrapper for LyXView::buffer()
+ Buffer * buffer();
+ ///
+ Buffer const * buffer() const;
+ /// a wrapper for LyXView::getLyXFunc()
+ LyXFunc & lyxfunc();
+ ///
+ LyXFunc const & lyxfunc() const;
+
+ ///
LyXView & lv_;
/// Contains the signals we have to connect to.
Dialogs & d_;
/// Hide connection.
- SigC::Connection h_;
+ boost::signals::connection h_;
/// Redraw connection.
- SigC::Connection r_;
+ boost::signals::connection r_;
};
an update() function which is also supported by the Restore button.
*/
-class ControlConnectBI : public ControlConnectBase
-{
+class ControlConnectBI : public ControlConnectBase {
public:
- ///
- ControlConnectBI(LyXView &, Dialogs &);
-
+ ///
+ ControlConnectBI(LyXView &, Dialogs &);
protected:
///
virtual bool isBufferDependent() const { return false; }
/** Base class to control connection/disconnection of signals with the LyX
kernel for Buffer Dependent dialogs.
*/
-class ControlConnectBD : public ControlConnectBase
-{
+class ControlConnectBD : public ControlConnectBase {
public:
///
ControlConnectBD(LyXView &, Dialogs &);
-
protected:
///
virtual bool isBufferDependent() const { return true; }
virtual void connect();
/// Disconnect signals
virtual void disconnect();
-
private:
/** Slot connected to update signal.
Bool indicates if a buffer switch took place.
*/
virtual void updateSlot(bool) { update(); }
/// Update connection.
- SigC::Connection u_;
+ boost::signals::connection u_;
};
#endif // CONTROLCONNECTIONS_H