X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiDocument.h;h=0bfbc1692e9512cd28562f49892729f0f30bc981;hb=be5965ae9183ebd17e71b74d4721520d85be6e6c;hp=5b2066f7c0a2a8b7a016f32539926257a027a1cf;hpb=72721655c5798cb8e6d03cb2e687befabf4c9667;p=lyx.git diff --git a/src/frontends/qt4/GuiDocument.h b/src/frontends/qt4/GuiDocument.h index 5b2066f7c0..0bfbc1692e 100644 --- a/src/frontends/qt4/GuiDocument.h +++ b/src/frontends/qt4/GuiDocument.h @@ -20,34 +20,39 @@ #include "GuiDialog.h" #include "GuiIdListModel.h" +#include "ui_BiblioUi.h" +#include "ui_ColorUi.h" #include "ui_DocumentUi.h" #include "ui_FontUi.h" -#include "ui_TextLayoutUi.h" -#include "ui_MathsUi.h" -#include "ui_LaTeXUi.h" -#include "ui_PageLayoutUi.h" #include "ui_LanguageUi.h" -#include "ui_BiblioUi.h" -#include "ui_NumberingUi.h" +#include "ui_LaTeXUi.h" +#include "ui_ListingsSettingsUi.h" +#include "ui_LocalLayoutUi.h" #include "ui_MarginsUi.h" -#include "ui_PreambleUi.h" -#include "ui_PDFSupportUi.h" +#include "ui_MasterChildUi.h" +#include "ui_MathsUi.h" #include "ui_ModulesUi.h" - -#include -#include +#include "ui_NumberingUi.h" +#include "ui_OutputUi.h" +#include "ui_PageLayoutUi.h" +#include "ui_PDFSupportUi.h" +#include "ui_PreambleUi.h" +#include "ui_TextLayoutUi.h" namespace lyx { class BufferParams; -class FloatPlacement; +class LayoutModuleList; class TextClass; namespace frontend { +class FloatPlacement; class GuiBranches; +class GuiIndices; class ModuleSelectionManager; class PreambleModule; +class LocalLayout; /// typedef void const * BufferId; @@ -68,53 +73,81 @@ public: void paramsToDialog(); void updateFontsize(std::string const &, std::string const &); + void updateFontlist(); + void updateDefaultFormat(); + void updateEngineType(std::string const &, CiteEngineType const &); void updatePagestyle(std::string const &, std::string const &); + bool isChildIncluded(std::string const &); - void showPreamble(); /// BufferParams const & params() const { return bp_; } private Q_SLOTS: void updateNumbering(); void change_adaptor(); + void includeonlyClicked(QTreeWidgetItem * item, int); void setListingsMessage(); void saveDefaultClicked(); void useDefaultsClicked(); void setLSpacing(int); - void setMargins(bool); - void setCustomPapersize(int); + void setMargins(); + void papersizeChanged(int); void setColSep(); void setCustomMargins(bool); + void fontencChanged(int); void romanChanged(int); void sansChanged(int); void ttChanged(int); + void setIndent(int); + void enableIndent(bool); void setSkip(int); void enableSkip(bool); - void portraitChanged(); void browseLayout(); void browseMaster(); void classChanged(); + void languagePackageChanged(int); + void biblioChanged(); + void bibtexChanged(int); + void setAuthorYear(bool); + void setNumerical(bool); void updateModuleInfo(); void modulesChanged(); - + void changeBackgroundColor(); + void deleteBackgroundColor(); + void changeFontColor(); + void deleteFontColor(); + void changeNoteFontColor(); + void deleteNoteFontColor(); + void changeBoxBackgroundColor(); + void deleteBoxBackgroundColor(); + void languageChanged(int); + void osFontsChanged(bool); + void mathFontChanged(int); + void branchesRename(docstring const &, docstring const &); private: /// validate listings parameters and return an error message, if any QString validateListingsParameters(); UiWidget *textLayoutModule; + UiWidget *masterChildModule; UiWidget *fontModule; UiWidget *pageLayoutModule; UiWidget *marginsModule; UiWidget *langModule; + UiWidget *colorModule; UiWidget *numberingModule; UiWidget *biblioModule; UiWidget *mathsModule; UiWidget *latexModule; UiWidget *pdfSupportModule; UiWidget *modulesModule; - PreambleModule *preambleModule; - - GuiBranches *branchesModule; + UiWidget *outputModule; + UiWidget *listingsModule; + PreambleModule * preambleModule; + LocalLayout * localLayout; + + GuiBranches * branchesModule; + GuiIndices * indicesModule; BulletsModule * bulletsModule; FloatPlacement * floatModule; @@ -134,14 +167,15 @@ private: void updateAvailableModules(); /// void updateSelectedModules(); + /// + void updateIncludeonlys(); /// save as default template void saveDocDefault(); /// reset to default params void useClassDefaults(); /// void setLayoutComboByIDString(std::string const & idString); - /// available classes - GuiIdListModel classes_model_; + /// available modules GuiIdListModel modules_av_model_; /// selected modules @@ -152,7 +186,7 @@ private: /// return false if validate_listings_params returns error bool isValid(); - /// font family names for BufferParams::fontsDefaultFamily + /// font family names for BufferParams::fonts_default_family static char const * const fontfamilies[5]; /// GUI names corresponding fontfamilies static char const * fontfamilies_gui[5]; @@ -185,24 +219,53 @@ private: /// Modules in use in current buffer std::list const getSelectedModules(); /// + std::list const getProvidedModules(); + /// + std::list const + makeModuleInfo(LayoutModuleList const & mods); + /// void setLanguage() const; /// void saveAsDefault() const; - /// - bool isFontAvailable(std::string const & font) const; /// does this font provide Old Style figures? - bool providesOSF(std::string const & font) const; + bool providesOSF(QString const & font) const; /// does this font provide true Small Caps? - bool providesSC(std::string const & font) const; + bool providesSC(QString const & font) const; /// does this font provide size adjustment? - bool providesScale(std::string const & font) const; + bool providesScale(QString const & font) const; + /// does this font provide an alternative without math? + bool providesNoMath(QString const & font) const; + /// + void executeBranchRenaming() const; + /// + void setCustomPapersize(bool custom); private: /// void loadModuleInfo(); /// + void updateUnknownBranches(); + /// + void updateTexFonts(); + /// + void updateMathFonts(QString const & rm); + /// + void updateFontOptions(); + /// + bool ot1() const; + /// + bool completeFontset() const; + /// + bool noMathFont() const; + /// BufferParams bp_; /// List of names of available modules std::list moduleNames_; + /// + std::map changedBranches_; + /// + std::list includeonlys_; + /// + bool biblioChanged_; }; @@ -229,6 +292,33 @@ private: }; +class LocalLayout : public UiWidget +{ + Q_OBJECT +public: + LocalLayout(); + void update(BufferParams const & params, BufferId id); + void apply(BufferParams & params); + bool isValid() const { return validated_; } + +Q_SIGNALS: + /// signal that something's changed in the Widget. + void changed(); + +private: + void validate(); + void convert(); +private Q_SLOTS: + void textChanged(); + void validatePressed(); + void convertPressed(); + +private: + BufferId current_id_; + bool validated_; +}; + + } // namespace frontend } // namespace lyx