]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/xforms/combox.h
fix crash with "save as"
[lyx.git] / src / frontends / xforms / combox.h
index a98592530ac4ba3f89506ddc7aa9fa547c35de2b..391d09d5aa4ff253d7bfcc13fe28a435437b4342 100644 (file)
@@ -1,25 +1,27 @@
 // -*- C++ -*-
-/*
- *  Combox: A combination of two objects (a button and a browser) is
- *          encapsulated to get a combobox-like object. All XForms 
- *          functions are hidden.         
- * 
- *  GNU Copyleft 1996 Alejandro Aguilar Sierra <asierra@servidor.unam.mx>
- *                        and the LyX Team.
- * 
- *  Dependencies:  Only XForms, but created to be used with LyX.
- * 
- */ 
-
-/* Change log:
- *  
- *  2/06/1996,   Alejandro Aguilar Sierra 
+/**
+ * \file combox.h
+ * Copyright 1996 Alejandro Aguilar Sierra
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Alejandro Aguilar Sierra
+ *
+ * Full author contact details are available in file CREDITS
+ */
+
+/* A combination of two objects (a button and a browser) is encapsulated to
+ * get a combobox-like object. All XForms functions are hidden.
+ *
+ * Change log:
+ *
+ *  2/06/1996,   Alejandro Aguilar Sierra
  *    Created and tested.
- *  
- *  4/06/1996,   Alejandro Aguilar Sierra 
+ *
+ *  4/06/1996,   Alejandro Aguilar Sierra
  *    Added droplist mode (a button with a black down arrow at right)
  *    and support for middle and right buttons, as XForms choice object.
- */ 
+ */
 
 #ifndef COMBOX_H
 #define COMBOX_H
@@ -59,53 +61,47 @@ public:
        ~Combox();
 
        /** To add this object to a form. Note that there are two heights
-           for normal (button) and expanded (browser) mode each.
-           The optional tabfolder arguments are needed to overcome an
-           xforms bug when repositioning a combox in a tab folder.
-           tabfolder1_ is the folder holding the combox.
-           If using nested tabfolders, tabfolder2_ is the "base" folder
-           holding tabfolder1_.
-       */
-       void add(int x, int y, int w, int hmin, int hmax,
-                FL_OBJECT * tabfolder1_ = 0, FL_OBJECT * tabfolder2_ = 0);
-       
+        *  for normal (button) and expanded (browser) mode each.
+        */
+       void add(int x, int y, int w, int hmin, int hmax);
+
        /// Add lines. Same as for fl_browser object
        void addline(string const &);
        /// Add lines. Same as for fl_browser object
        void addto(string const &);
-       
+
        /// Returns the selected item
        int get() const;
-   
+
        /// Returns a pointer to the selected line of text
        string const getline() const;
-   
+
        ///  Select an arbitrary item
        void select(int);
        ///
-        bool select(string const &);
-   
+       bool select(string const &);
+
        ///  Clear all the list
        void clear();
 
        /// Is the combox cleared (empty)
        bool empty() const { return is_empty; }
-       
-       /// Remove the objects from the form they are in. 
+
+       /// Remove the objects from the form they are in.
        void remove();
 
-       /** 
+       /**
         * Assign a callback to this object. The callback should be a void
-        * function with a int, a void pointer, and a Combox pointer as 
+        * function with a int, a void pointer, and a Combox pointer as
         * parameters.
        */
        void setcallback(FL_COMBO_CB, void *);
-   
-        ///  Pre handler
+
+       ///  Pre handler
        void setpre(FL_COMBO_PRE_POST);
        /// Post handler
        void setpost(FL_COMBO_PRE_POST);
-       
+
        ///  XForms attributes
        void resize(unsigned);
        ///
@@ -115,7 +111,7 @@ public:
        ///
        void deactivate();
        ///
-        void shortcut(string const &, int);
+       void shortcut(string const &, int);
        ///
        void redraw();
        ///
@@ -125,9 +121,9 @@ public:
        ///
        static void input_cb(FL_OBJECT *, long);
        ///
-        static int  peek_event(FL_FORM *, void *);
+       static int  peek_event(FL_FORM *, void *);
  protected:
-        /// At least Hide should not be public
+       /// At least Hide should not be public
        void hide(int who = 0);
        ///
        FL_OBJECT * browser;
@@ -135,7 +131,7 @@ public:
        ///
        combox_type type;
        ///
-        int bw;
+       int bw;
        ///
        int bh;
        ///
@@ -155,16 +151,12 @@ public:
        ///
        FL_OBJECT * label;
        ///
-        FL_FORM* form;
-       ///
-       FL_OBJECT * tabfolder1;
-       ///
-       FL_OBJECT * tabfolder2;
+       FL_FORM* form;
 };
 
 
 
-//-----------------  Inline methods  --------------------------- 
+//-----------------  Inline methods  ---------------------------
 
 inline
 void Combox::addto(string const & text)
@@ -180,7 +172,7 @@ inline
 void Combox::resize(unsigned r)
 {
    fl_set_object_resize(button, r);
-   if (label!= button) fl_set_object_resize(label, r); 
+   if (label!= button) fl_set_object_resize(label, r);
 }
 
 
@@ -188,7 +180,7 @@ inline
 void Combox::gravity(unsigned g1, unsigned g2)
 {
    fl_set_object_gravity(button, g1, g2);
-   if (label!= button) fl_set_object_gravity(label, g1, g2); 
+   if (label!= button) fl_set_object_gravity(label, g1, g2);
 }
 
 
@@ -232,7 +224,7 @@ int Combox::get() const
 inline
 string const Combox::getline() const
 {
-    if (type == FL_COMBOX_INPUT) 
+    if (type == FL_COMBOX_INPUT)
       return fl_get_input(label);
     else
       return (browser && sel > 0) ?