]> git.lyx.org Git - lyx.git/commitdiff
Use same button handling as in XForms frontend
authorKalle Dalheimer <kalle@kdab.net>
Sat, 24 Mar 2001 15:59:01 +0000 (15:59 +0000)
committerKalle Dalheimer <kalle@kdab.net>
Sat, 24 Mar 2001 15:59:01 +0000 (15:59 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1824 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt2/.cvsignore
src/frontends/qt2/FormBase.C
src/frontends/qt2/FormBase.h
src/frontends/qt2/FormCopyright.C
src/frontends/qt2/FormCopyrightDialog.ui
src/frontends/qt2/Makefile.am

index 334f280e30b685adb4d9044acd72190e62ca3d60..6904cd62bd1bb267346b6eb199caa3f6a9f5611d 100644 (file)
@@ -10,3 +10,5 @@ FormDocumentDialogBase.h
 FormDocumentDialogBase.C
 FormCitationDialog.h
 FormCitationDialog.C
+FormCopyrightDialog.C
+FormCopyrightDialog.h
index d6b11a49443e3b380512ad5ae310559a69f46a9d..cb2d5cf3ae025657c114cedeed97aa5a19aa2313 100644 (file)
@@ -25,6 +25,8 @@
 #include "qt2BC.h"
 #include "support/LAssert.h"
 
+#include <stdio.h>
+
 
 FormBase::FormBase(ControlBase & c, string const & t)
        : ViewBC<qt2BC>(c), title_(t)
@@ -34,17 +36,27 @@ FormBase::FormBase(ControlBase & c, string const & t)
 
 void FormBase::show()
 {
-       if (!form()) {
+    fprintf( stderr, "FormBase::show() 1\n" );
+    if (!form()) {
+    fprintf( stderr, "FormBase::show() 2\n" );
                build();
+    fprintf( stderr, "FormBase::show() 3\n" );
        }
+    fprintf( stderr, "FormBase::show() 4\n" );
 
        update();  // make sure its up-to-date
+    fprintf( stderr, "FormBase::show() 5\n" );
 
        if (form()->isVisible()) {
+    fprintf( stderr, "FormBase::show() 6\n" );
            form()->raise();
+    fprintf( stderr, "FormBase::show() 7\n" );
        } else {
+    fprintf( stderr, "FormBase::show() 8\n" );
            form()->setCaption( title_.c_str() );
+    fprintf( stderr, "FormBase::show() 9\n" );
            form()->show();
+    fprintf( stderr, "FormBase::show() 10\n" );
        }
 }
 
@@ -56,65 +68,52 @@ void FormBase::hide()
 }
 
 
+// PENDING(kalle) Handle this with QValidator?
 // void FormBase::InputCB(FL_OBJECT * ob, long data)
 // {
 //     bc().input(input(ob, data));
 // }
 
 
-// ButtonPolicy::SMInput FormBase::input(FL_OBJECT *, long)
-// {
-//     return ButtonPolicy::SMI_VALID;
-// }
-
+ButtonPolicy::SMInput FormBase::input(QWidget*, long)
+{
+    return ButtonPolicy::SMI_VALID;
+}
 
-namespace {
 
-// FormBase * GetForm(QWidget * ob)
-// {
-//     Assert(ob && ob->form && ob->form->u_vdata);
-//     FormBase * pre = static_cast<FormBase *>(ob->form->u_vdata);
-//     return pre;
-// }
 
-} // namespace anon
+void FormBase::slotWMHide()
+{
+    CancelButton();
+}
 
 
-// extern "C" int C_FormBaseWMHideCB(FL_FORM * form, void *)
-// {
-//     // Close the dialog cleanly, even if the WM is used to do so.
-//     Assert(form && form->u_vdata);
-//     FormBase * pre = static_cast<FormBase *>(form->u_vdata);
-//     pre->CancelButton();
-//     return FL_CANCEL;
-// }
 
-
-// extern "C" void C_FormBaseApplyCB(FL_OBJECT * ob, long)
-// {
-//     GetForm(ob)->ApplyButton();
-// }
+void FormBase::slotApply()
+{
+    ApplyButton();
+}
 
 
-// extern "C" void C_FormBaseOKCB(FL_OBJECT * ob, long)
-// {
-//     GetForm(ob)->OKButton();
-// }
+void FormBase::slotOK()
+{
+    OKButton();
+}
 
 
-// extern "C" void C_FormBaseCancelCB(FL_OBJECT * ob, long)
-// {
-//     FormBase * form = GetForm(ob);
-//     form->CancelButton();
-// }
+void FormBase::slotCancel()
+{
+    CancelButton();
+}
 
 
-// extern "C" void C_FormBaseRestoreCB(FL_OBJECT * ob, long)
-// {
-//     GetForm(ob)->RestoreButton();
-// }
+void FormBase::slotRestore()
+{
+    RestoreButton();
+}
 
 
+// PENDING(kalle) How to handle this?
 // extern "C" void C_FormBaseInputCB(FL_OBJECT * ob, long d)
 // {
 //     GetForm(ob)->InputCB(ob, d);
index 0451eb5d68a6beb05fa08a8a231faea5d1b3b226..c48c03e0c310160e714153ce793344c1410010bb 100644 (file)
@@ -18,6 +18,9 @@
 
 class QDialog;
 
+#include <qfont.h>
+#include <qobject.h>
+
 #ifdef __GNUG__
 #pragma interface
 #endif
@@ -30,8 +33,9 @@ class qt2BC;
 
 /** This class is an Qt2 GUI base class.
  */
-class FormBase : public ViewBC<qt2BC>
+class FormBase : public QObject, public ViewBC<qt2BC>
 {
+    Q_OBJECT
 public:
        ///
        FormBase(ControlBase &, string const &);
@@ -46,12 +50,28 @@ protected:
        /// Create the dialog if necessary, update it and display it.
        void show();
 
+protected slots:
+    // dialog closed from WM
+    void slotWMHide();
+    
+    // Apply button clicked
+    void slotApply();
+    
+    // OK button clicked
+    void slotOK();
+    
+    // Cancel button clicked
+    void slotCancel();
+    
+    // Restore button clicked
+    void slotRestore();
+    
 private:
        /// Pointer to the actual instantiation of xform's form
        virtual QDialog* form() const = 0;
-//     /** Filter the inputs on callback from xforms
-//         Return true if inputs are valid. */
-//     virtual ButtonPolicy::SMInput input(FL_OBJECT *, long);
+       /** Filter the inputs on callback from xforms
+           Return true if inputs are valid. */
+       virtual ButtonPolicy::SMInput input(QWidget*, long);
 
 private:
        /// dialog title, displayed by WM.
index 73d53eebedcc0a55d8b76ed57d3a4af448345bc7..a76a7deb0d6a146a697a818edcf384ddc804270d 100644 (file)
@@ -38,13 +38,15 @@ void FormCopyright::build()
 {
     // PENDING(kalle) Parent???
     dialog_.reset( new FormCopyrightDialogImpl() );
-
+    connect( dialog_.get()->closePB, SIGNAL( clicked() ),
+            this, SLOT( slotCancel() ) );
+    
     dialog_->copyrightLA->setText( controller().getCopyright().c_str() );
     dialog_->licenseLA->setText( controller().getLicence().c_str() );
     dialog_->disclaimerLA->setText( controller().getDisclaimer().c_str() );
     
     // Manage the cancel/close button
-    bc().setCancel(dialog_->okPB);
+    bc().setCancel(dialog_->closePB);
     bc().refresh();
 }
 
index ce27f42e098d0440d9840ffbfb90579ab65b53f8..a66e57e6ff7ec34806506158c87aa467a8a53142 100644 (file)
@@ -17,7 +17,7 @@
     </property>
     <property stdset="1">
         <name>caption</name>
-        <string>Form1</string>
+        <string>Copyright and Warranty</string>
     </property>
     <vbox>
         <property stdset="1">
@@ -159,7 +159,7 @@ if not, write to the Free Software Foundation, Inc.,
             <class>QPushButton</class>
             <property stdset="1">
                 <name>name</name>
-                <cstring>okPB</cstring>
+                <cstring>closePB</cstring>
             </property>
             <property stdset="1">
                 <name>sizePolicy</name>
@@ -170,7 +170,7 @@ if not, write to the Free Software Foundation, Inc.,
             </property>
             <property stdset="1">
                 <name>text</name>
-                <string>&amp;OK</string>
+                <string>&amp;Close</string>
             </property>
             <property stdset="1">
                 <name>default</name>
@@ -181,7 +181,7 @@ if not, write to the Free Software Foundation, Inc.,
 </widget>
 <connections>
     <connection>
-        <sender>okPB</sender>
+        <sender>closePB</sender>
         <signal>clicked()</signal>
         <receiver>FormCopyrightDialog</receiver>
         <slot>reject()</slot>
index 0385d54b55c8c49a57efb5744d3664b3b8245340..399ccd86e846be107eabb53bcf951c8b57100457 100644 (file)
@@ -12,6 +12,7 @@ CXXFLAGS += -DQT_CLEAN_NAMESPACE -fno-rtti -fno-exceptions
 # moc generated files
 BUILTSOURCES = \
        moc_FileDialog_private.C \
+       moc_FormBase.C          \
        moc_FormCitationDialog.C        \
        moc_FormCitationDialogImpl.C    \
        moc_FormCopyrightDialog.C       \
@@ -160,6 +161,9 @@ dist-hook:
        done ; \
        done
 
+moc_FormBase.C: FormBase.h
+       $(MOC) -o $@ $<
+
 FormCitation.C: FormCitationDialog.h
 FormCitationDialog.h: FormCitationDialog.ui
        $(UIC) -o $@ $<