#include <Fl_OpButton.H>
Public Member Functions | |
| virtual int | Connecting (Fl_OpButton *, std::string &errmsg) |
This virtual method can be defined by the app to detect when a connection to button is being made. | |
| int | ConnectTo (Fl_OpButton *but, std::string &errmsg) |
| Connect this button to another one. | |
| void | Disconnect (Fl_OpButton *but) |
| Disconnect a connection to a specified button The correct way to cleanly disconnect two buttons. | |
| void | DisconnectAll () |
| Disconnect all buttons connected to this one. | |
| virtual void | Disconnecting (Fl_OpButton *) |
| This virtual method can be defined by the app to detect when connections are being deleted. | |
| void | draw () |
| Fltk draw() handler. | |
| Fl_OpButton (const Fl_OpButton &) | |
Fl_OpButton copy constructor. Makes a "copy" of Fl_OpButton o. | |
| Fl_OpButton (const char *L, Fl_OpButtonType io) | |
| Constructor for the Fl_OpButton. | |
| Fl_OpButtonType | GetButtonType () const |
| Return the type of button; input or output. | |
| const Fl_OpButton * | GetConnectedButton (size_t index=0) const |
| Const version of GetConnectedButton(). | |
| Fl_OpButton * | GetConnectedButton (size_t index=0) |
Return one of the buttons we're connected to, given index. | |
| Fl_OpConnect * | GetConnection (size_t index) |
Return the Fl_OpConnect connection for the given connected button index. | |
| std::string | GetFullName () const |
| Return the 'full instance name' for this button. | |
| int | GetMinimumHeight () const |
| Get the button's 'minimum height', given its label size, and adjusting for margins. | |
| int | GetMinimumWidth () const |
| Get the button's 'minimum width', given its current font size and label contents. | |
| const Fl_OpBox * | GetOpBox () const |
| Return a constant pointer this button's parent Fl_OpBox. | |
| Fl_OpBox * | GetOpBox () |
| Return the pointer this button's parent Fl_OpBox. | |
| const Fl_OpDesk * | GetOpDesk () const |
| Return a constnat pointer to the parent OpDesk. | |
| Fl_OpDesk * | GetOpDesk () |
| Return a pointer to the parent OpDesk. | |
| void | GetOutputBoxes (std::vector< Fl_OpBox * > &outboxes) |
Returns array of outboxes connected to this button. | |
| size_t | GetTotalConnectedButtons () const |
| Return the total number of other buttons we're connected to. | |
| int | handle (int e) |
| Fltk event handler. | |
| int | IsConnected (const Fl_OpButton *but) const |
See if the specified button but is in our connection list. | |
| int | IsConnected () const |
| See if this button has any connections. | |
| ~Fl_OpButton () | |
| Destructor for the Fl_OpButton. | |
Friends | |
| class | Fl_OpDesk |
These become children of the Fl_OpBox in the usual FLTK fashion, where opbox->begin() and opbox->end() are used to bracket the creation of buttons, a simple example being:
// Create box Fl_OpBox *box = new Fl_OpBox(X,Y,150,80); box->copy_label("add"); box->begin(); // Create two input buttons ("A", "B") and one output button ("OUT") Fl_OpButton *a = new Fl_OpButton("A", FL_OP_INPUT_BUTTON); Fl_OpButton *b = new Fl_OpButton("B", FL_OP_INPUT_BUTTON); Fl_OpButton *out = new Fl_OpButton("OUT", FL_OP_OUTPUT_BUTTON); box->end();
| Fl_OpButton::Fl_OpButton | ( | const char * | name, | |
| Fl_OpButtonType | io | |||
| ) |
Constructor for the Fl_OpButton.
Creates a button whose label is name , and who's type is io. 'name' can be null, and set later with label() or copy_label(). Placement of the button is handled entirely by the parent Fl_OpBox.
| Fl_OpButton::~Fl_OpButton | ( | ) |
Destructor for the Fl_OpButton.
Handles disconnecting all connections.
| virtual int Fl_OpButton::Connecting | ( | Fl_OpButton * | , | |
| std::string & | errmsg | |||
| ) | [inline, virtual] |
This virtual method can be defined by the app to detect when a connection to button is being made.
The app can 'OK' the connection by returning 0, or 'FAIL' the connection by returning -1, and setting errmsg to the reason why.
Example:
class MyButton : public Fl_OpButton { // Handle checking connections int Connecting(Fl_OpButton *to, std::string &errmsg) { if ( to->OKToConnect(this) ) { return(0); // OK } else { errmsg = "It's not OK to connect"; return(-1); // FAIL } } [..]
| int Fl_OpButton::ConnectTo | ( | Fl_OpButton * | but, | |
| std::string & | errmsg | |||
| ) |
Connect this button to another one.
Handles a) telling other button about the connection, and b) avoids illegal "output-to-output" or "input-to-input" connections.
If we're an input button, any previous connection is dropped first. If we're an output button, drops any existing connections *to dstbut*, then recreates.
errmsg has reason. | void Fl_OpButton::DisconnectAll | ( | ) |
Disconnect all buttons connected to this one.
Handles telling the other buttons and the desk about the disconnect.
| Fl_OpButton * Fl_OpButton::GetConnectedButton | ( | size_t | index = 0 |
) |
Return one of the buttons we're connected to, given index.
index is NOT range checked; use either IsConnected() to see if there's at least one connection, or use GetTotalConnectedButtons() to determine the max value for index.
To loop through all the connected buttons, you can use:
for ( int t=0; t<GetTotalConnectedButtons(); t++ ) { Fl_OpButton *otherbut = GetConnectedButton(t); // ..your code here.. }
| Fl_OpConnect * Fl_OpButton::GetConnection | ( | size_t | index | ) |
Return the Fl_OpConnect connection for the given connected button index.
index is NOT range checked; use either IsConnected() to see if there's at least one connection, or use GetTotalConnectedButtons() to determine the max value for index.
| std::string Fl_OpButton::GetFullName | ( | ) | const |
Return the 'full instance name' for this button.
This name uniquely identifies this button from all the other buttons on the Fl_OpDesk, the form being "BOX(BUT)", where "BOX" is the parent Fl_OpBox's unique name, and "BUT" is this button's unique label.
| size_t Fl_OpButton::GetTotalConnectedButtons | ( | ) | const |
Return the total number of other buttons we're connected to.
To loop through all the buttons we're connected to, use:
for ( int t=0; t<GetTotalConnectedButtons(); t++ ) { Fl_OpButton *otherbut = GetConnectedButton(t); // ..your code here.. }
| int Fl_OpButton::IsConnected | ( | const Fl_OpButton * | but | ) | const |
See if the specified button but is in our connection list.
1.5.6