2000-08-01 17:33:32 +00:00
|
|
|
// -*- C++ -*-
|
|
|
|
/* This file is part of
|
|
|
|
* ======================================================
|
|
|
|
*
|
|
|
|
* LyX, The Document Processor
|
|
|
|
*
|
|
|
|
* Copyright 2000 The LyX Team.
|
|
|
|
*
|
|
|
|
* ======================================================
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef FORMTOC_H
|
|
|
|
#define FORMTOC_H
|
|
|
|
|
|
|
|
#ifdef __GNUG__
|
|
|
|
#pragma interface
|
|
|
|
#endif
|
|
|
|
|
2000-10-13 05:57:05 +00:00
|
|
|
#include "FormInset.h"
|
2000-08-04 13:12:30 +00:00
|
|
|
#include "buffer.h"
|
2000-08-01 17:33:32 +00:00
|
|
|
struct FD_form_toc;
|
|
|
|
|
|
|
|
/** This class provides an XForms implementation of the FormToc Dialog.
|
|
|
|
*/
|
2000-08-01 18:11:14 +00:00
|
|
|
class FormToc : public FormCommand {
|
2000-08-01 17:33:32 +00:00
|
|
|
public:
|
|
|
|
///
|
|
|
|
FormToc(LyXView *, Dialogs *);
|
|
|
|
///
|
|
|
|
~FormToc();
|
|
|
|
private:
|
2000-10-13 05:57:05 +00:00
|
|
|
/// Disconnect signals. Also perform any necessary housekeeping.
|
|
|
|
virtual void disconnect();
|
|
|
|
|
2000-08-01 17:33:32 +00:00
|
|
|
/// Build the dialog
|
|
|
|
virtual void build();
|
2000-10-24 13:13:59 +00:00
|
|
|
/// bool indicates if a buffer switch took place
|
|
|
|
virtual void updateSlot(bool) { update(); }
|
2000-08-03 12:56:25 +00:00
|
|
|
/// Update dialog before showing it
|
2000-10-24 13:13:59 +00:00
|
|
|
virtual void update();
|
2000-08-03 12:56:25 +00:00
|
|
|
/// Apply from dialog (modify or create inset)
|
|
|
|
virtual void apply();
|
|
|
|
/// Pointer to the actual instantiation of the xform's form
|
2000-10-03 05:53:25 +00:00
|
|
|
virtual FL_FORM * form() const;
|
2000-08-01 17:33:32 +00:00
|
|
|
///
|
|
|
|
void updateToc();
|
|
|
|
///
|
|
|
|
FD_form_toc * build_toc();
|
|
|
|
|
|
|
|
/// Real GUI implementation.
|
|
|
|
FD_form_toc * dialog_;
|
2000-08-04 13:12:30 +00:00
|
|
|
///
|
|
|
|
std::vector<Buffer::TocItem> toclist;
|
2000-08-01 17:33:32 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|