// -*- 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
*/
void add(int x, int y, int w, int hmin, int hmax,
FL_OBJECT * tabfolder1_ = 0, FL_OBJECT * tabfolder2_ = 0);
-
+
/// 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_text(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 and a void pointer as parameters.
+ /**
+ * Assign a callback to this object. The callback should be a void
+ * 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);
///
///
void deactivate();
///
- void shortcut(string const &, int);
+ void shortcut(string const &, int);
///
- void Redraw();
+ void redraw();
///
- void Show();
+ void show();
///
static void combo_cb(FL_OBJECT *, long);
///
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
- void Hide(int who = 0);
+ /// At least Hide should not be public
+ void hide(int who = 0);
///
FL_OBJECT * browser;
private:
///
combox_type type;
///
- int bw;
+ int bw;
///
int bh;
///
///
FL_OBJECT * label;
///
- FL_FORM* form;
+ FL_FORM* form;
///
FL_OBJECT * tabfolder1;
///
-//----------------- Inline methods ---------------------------
+//----------------- Inline methods ---------------------------
inline
void Combox::addto(string const & text)
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);
}
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);
}
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) ?