# gcu::Dialog Class Reference

`#include <gcu/dialog.h>`

List of all members.

## Public Member Functions

| Dialog (Application *App, const char *filename, const char *windowname, DialogOwner *owner=NULL, void(*extra_destroy)(gpointer)=NULL, gpointer data=NULL)
virtual void | Destroy ()
virtual bool | Apply ()
void | Help ()
GtkWindow * | GetWindow ()
void | Present ()

## Protected Member Functions

bool | GetNumber (GtkEntry *Entry, double *x, CheckType c=NoCheck, double min=0, double max=0)

## Protected Attributes

GladeXML * | xml
GtkWindow * | dialog
Application * | m_App

## Detailed Description

This class is base class for dialog boxes. It provides some basic services.

Definition at line 69 of file dialog.h.

## Constructor & Destructor Documentation

gcu::Dialog::Dialog | ( | Application * | App,
|  | const char * | filename,
|  | const char * | windowname,
|  | DialogOwner * | owner = `NULL`,
|  | void(*)(gpointer) | extra_destroy = `NULL`,
|  | gpointer | data = `NULL` |
| ) |  |  |

Parameters:

  | App,: | the Application which owns the dialog.
  | filename,: | the glade file name which contains the description of the dialog.
  | windowname,: | the name of the top level GtkWidget of the dialog box in the glade file. This name should be unique for the application. It is used to access the contextual help and to ensure the uniqueness of the dialog (in some cases).
  | owner,: | the address of an owner object, might be App or a document or NULL (the default). when owner is not NULL, the dialog will be unique for it.
  | extra_destroy,: | a callback to be called when the dialog is detroyed by calling Dialog::Destroy. Useful to perform non standard cleaning operations before calling gtk_widget_destroy. The destructor being called afterwards, it cannot access the widget.
  | data,: | the data to be passed to extra_destroy.

If the glade file declares buttons with names "OK", "apply", "cancel" and "help", default actions will be associated with these buttons. If the Application does not provide help support, the Help button will be hidden.

## Member Function Documentation

virtual void gcu::Dialog::Destroy | ( |  | ) | `[virtual]`

Called when closing the dialog box after a click on the OK or Cancel buttons. If a child class implements this method, it should call Dialog::Destroy after performing its task or it must destroy the window. The defaut implementation calls extra_destroy and gtk_widget_destroy.

virtual bool gcu::Dialog::Apply | ( |  | ) | `[virtual]`

Called after a click on the OK or Apply buttons. After clicking the OK button and if the method returns true, Destroy will be called to close the dialog box. A derived class should implement this method, as the default just returns true.

Returns:
  true if everything worked, false if something when wrong and the dialog should not be closed.

void gcu::Dialog::Help | ( |  | ) |

Displays the help corresponding to the dialog. This function is called when a click occurs on the Help button. It calls Application::OnHelp (windowname);

GtkWindow* gcu::Dialog::GetWindow | ( |  | ) | `[inline]`

/return the top level window of the dialog box.

Definition at line 121 of file dialog.h.

References dialog.

void gcu::Dialog::Present | ( |  | ) | `[inline]`

Brings the dialog to top of the windows stack.

Definition at line 126 of file dialog.h.

References dialog.

bool gcu::Dialog::GetNumber | ( | GtkEntry * | Entry,
|  | double * | x,
|  | CheckType | c = `NoCheck`,
|  | double | min = `0`,
|  | double | max = `0` |
| ) |  |  | `[protected]`

Parameters:

  | Entry,: | the GtkEntry from which the number should be retrieved.
  | x,: | a pointer to the value which will be replaced by the result.
  | c,: | the type of check to perform on the value.
  | min,: | the minimum accepted value, if needed.
  | max,: | the maximum accepted value, if needed.

This method retrieves the text displayed in Entry, converts it to a number and perform bounds tests if needed. If an error occurs, a message box is displayed which let the user know why the value is not correct.

Returns:
  true if the value is valid, false if something went wrong.

## Member Data Documentation

GladeXML* gcu::Dialog::xml`[protected]`

The GladeXML structure used to build the dialog. If NULL, an error occured and the dialog should be deleted.

Definition at line 148 of file dialog.h.

GtkWindow* gcu::Dialog::dialog`[protected]`

The associated GtkWindow instance.

Definition at line 152 of file dialog.h.

Referenced by GetWindow(), and Present().

Application* gcu::Dialog::m_App`[protected]`

The Application instance owning the dialog.

Definition at line 156 of file dialog.h.

The documentation for this class was generated from the following file:

- dialog.h