#ifndef INCLUDED_VCL_INC_JSDIALOG_JSDIALOG_HXX #define INCLUDED_VCL_INC_JSDIALOG_JSDIALOG_HXX #include #include #include #include #include #include #include class JSDialogSender { VclPtr m_aOwnedToplevel; public: JSDialogSender(VclPtr aOwnedToplevel) : m_aOwnedToplevel(aOwnedToplevel) { } void notifyDialogState(); }; class VCL_DLLPUBLIC JSInstanceBuilder : public SalInstanceBuilder { public: JSInstanceBuilder(weld::Widget* pParent, const OUString& rUIRoot, const OUString& rUIFile); virtual std::unique_ptr weld_dialog(const OString& id, bool bTakeOwnership = true) override; virtual std::unique_ptr weld_label(const OString& id, bool bTakeOwnership = false) override; virtual std::unique_ptr weld_entry(const OString& id, bool bTakeOwnership = false) override; virtual std::unique_ptr weld_combo_box(const OString& id, bool bTakeOwnership = false) override; }; class VCL_DLLPUBLIC JSLabel : public SalInstanceLabel, public JSDialogSender { public: JSLabel(VclPtr aOwnedToplevel, FixedText* pLabel, SalInstanceBuilder* pBuilder, bool bTakeOwnership); virtual void set_label(const OUString& rText) override; }; class VCL_DLLPUBLIC JSEntry : public SalInstanceEntry, public JSDialogSender { public: JSEntry(VclPtr aOwnedToplevel, ::Edit* pEntry, SalInstanceBuilder* pBuilder, bool bTakeOwnership); virtual void set_text(const OUString& rText) override; }; class VCL_DLLPUBLIC JSListBox : public SalInstanceComboBoxWithoutEdit, public JSDialogSender { public: JSListBox(VclPtr aOwnedToplevel, ::ListBox* pListBox, SalInstanceBuilder* pBuilder, bool bTakeOwnership); virtual void insert(int pos, const OUString& rStr, const OUString* pId, const OUString* pIconName, VirtualDevice* pImageSurface) override; virtual void remove(int pos) override; }; class VCL_DLLPUBLIC JSComboBox : public SalInstanceComboBoxWithEdit, public JSDialogSender { public: JSComboBox(VclPtr aOwnedToplevel, ::ComboBox* pComboBox, SalInstanceBuilder* pBuilder, bool bTakeOwnership); virtual void insert(int pos, const OUString& rStr, const OUString* pId, const OUString* pIconName, VirtualDevice* pImageSurface) override; virtual void remove(int pos) override; virtual void set_entry_text(const OUString& rText) override; }; #endif