예제 #1
0
static newtComponent
nmt_newt_popup_build_component (NmtNewtComponent *component,
                                gboolean          sensitive)
{
	NmtNewtPopupPrivate *priv = NMT_NEWT_POPUP_GET_PRIVATE (component);
	NmtNewtPopupEntry *entries = (NmtNewtPopupEntry *)priv->entries->data;

	nmt_newt_button_set_label (NMT_NEWT_BUTTON (component),
	                           entries[priv->active].label);
	return NMT_NEWT_COMPONENT_CLASS (nmt_newt_popup_parent_class)->
		build_component (component, sensitive);
}
예제 #2
0
static void
nmt_newt_button_class_init (NmtNewtButtonClass *button_class)
{
	GObjectClass *object_class = G_OBJECT_CLASS (button_class);
	NmtNewtComponentClass *component_class = NMT_NEWT_COMPONENT_CLASS (button_class);
	NmtNewtWidgetClass *widget_class = NMT_NEWT_WIDGET_CLASS (button_class);

	g_type_class_add_private (button_class, sizeof (NmtNewtButtonPrivate));

	/* virtual methods */
	object_class->set_property = nmt_newt_button_set_property;
	object_class->get_property = nmt_newt_button_get_property;
	object_class->finalize     = nmt_newt_button_finalize;

	widget_class->size_request  = nmt_newt_button_size_request;
	widget_class->size_allocate = nmt_newt_button_size_allocate;
	widget_class->activated     = nmt_newt_button_activated;

	component_class->build_component = nmt_newt_button_build_component;

	/* signals */

	/**
	 * NmtNewtButton::clicked:
	 * @button: the #NmtNewtButton
	 *
	 * Emitted when the button is clicked.
	 */
	signals[CLICKED] =
		g_signal_new ("clicked",
		              G_OBJECT_CLASS_TYPE (object_class),
		              G_SIGNAL_RUN_FIRST,
		              0, NULL, NULL, NULL,
		              G_TYPE_NONE, 0);

	/* properties */

	/**
	 * NmtNewtButton:label:
	 *
	 * The button's label
	 */
	g_object_class_install_property
		(object_class, PROP_LABEL,
		 g_param_spec_string ("label", "", "",
		                      NULL,
		                      G_PARAM_READWRITE |
		                      G_PARAM_STATIC_STRINGS));
}
예제 #3
0
static void
nmt_newt_label_class_init (NmtNewtLabelClass *label_class)
{
	GObjectClass *object_class = G_OBJECT_CLASS (label_class);
	NmtNewtComponentClass *component_class = NMT_NEWT_COMPONENT_CLASS (label_class);

	g_type_class_add_private (label_class, sizeof (NmtNewtLabelPrivate));

	/* virtual methods */
	object_class->set_property = nmt_newt_label_set_property;
	object_class->get_property = nmt_newt_label_get_property;
	object_class->finalize     = nmt_newt_label_finalize;

	component_class->build_component = nmt_newt_label_build_component;

	/**
	 * NmtNewtLabel:text:
	 *
	 * The label's text
	 */
	g_object_class_install_property (object_class, PROP_TEXT,
	                                 g_param_spec_string ("text", "", "",
	                                                      NULL,
	                                                      G_PARAM_READWRITE |
	                                                      G_PARAM_STATIC_STRINGS));
	/**
	 * NmtNewtLabel:style:
	 *
	 * The label's #NmtNewtLabelStyle
	 */
	g_object_class_install_property (object_class, PROP_STYLE,
	                                 g_param_spec_int ("style", "", "",
	                                                   0, G_MAXINT, 0,
	                                                   G_PARAM_READWRITE |
	                                                   G_PARAM_STATIC_STRINGS));
	/**
	 * NmtNewtLabel:highlight:
	 *
	 * Whether the label is highlighted.
	 */
	g_object_class_install_property (object_class, PROP_HIGHLIGHT,
	                                 g_param_spec_boolean ("highlight", "", "",
	                                                       FALSE,
	                                                       G_PARAM_READWRITE |
	                                                       G_PARAM_STATIC_STRINGS));
}
예제 #4
0
static void
nmt_newt_popup_class_init (NmtNewtPopupClass *popup_class)
{
	GObjectClass *object_class = G_OBJECT_CLASS (popup_class);
	NmtNewtWidgetClass *widget_class = NMT_NEWT_WIDGET_CLASS (popup_class);
	NmtNewtComponentClass *component_class = NMT_NEWT_COMPONENT_CLASS (popup_class);

	g_type_class_add_private (popup_class, sizeof (NmtNewtPopupPrivate));

	/* virtual methods */
	object_class->set_property = nmt_newt_popup_set_property;
	object_class->get_property = nmt_newt_popup_get_property;
	object_class->finalize     = nmt_newt_popup_finalize;

	widget_class->activated = nmt_newt_popup_activated;

	component_class->build_component = nmt_newt_popup_build_component;

	/**
	 * NmtNewtPopup:active:
	 *
	 * The index of the currently-active entry.
	 */
	g_object_class_install_property
		(object_class, PROP_ACTIVE,
		 g_param_spec_uint ("active", "", "",
		                    0, G_MAXUINT, 0,
		                    G_PARAM_READWRITE |
		                    G_PARAM_STATIC_STRINGS));
	/**
	 * NmtNewtPopup:active-id:
	 *
	 * The textual ID of the currently-active entry.
	 */
	g_object_class_install_property
		(object_class, PROP_ACTIVE_ID,
		 g_param_spec_string ("active-id", "", "",
		                      NULL,
		                      G_PARAM_READWRITE |
		                      G_PARAM_STATIC_STRINGS));
}
예제 #5
0
static void
nmt_newt_entry_class_init (NmtNewtEntryClass *entry_class)
{
    GObjectClass *object_class = G_OBJECT_CLASS (entry_class);
    NmtNewtWidgetClass *widget_class = NMT_NEWT_WIDGET_CLASS (entry_class);
    NmtNewtComponentClass *component_class = NMT_NEWT_COMPONENT_CLASS (entry_class);

    g_type_class_add_private (entry_class, sizeof (NmtNewtEntryPrivate));

    /* virtual methods */
    object_class->constructed  = nmt_newt_entry_constructed;
    object_class->set_property = nmt_newt_entry_set_property;
    object_class->get_property = nmt_newt_entry_get_property;
    object_class->finalize     = nmt_newt_entry_finalize;

    widget_class->activated = nmt_newt_entry_activated;

    component_class->build_component    = nmt_newt_entry_build_component;

    /**
     * NmtNewtEntry:text
     *
     * The entry's text
     */
    g_object_class_install_property (object_class, PROP_TEXT,
                                     g_param_spec_string ("text", "", "",
                                             NULL,
                                             G_PARAM_READWRITE |
                                             G_PARAM_STATIC_STRINGS));
    /**
     * NmtNewtEntry:width
     *
     * The entry's width in characters
     */
    g_object_class_install_property (object_class, PROP_WIDTH,
                                     g_param_spec_int ("width", "", "",
                                             -1, 80, -1,
                                             G_PARAM_READWRITE |
                                             G_PARAM_STATIC_STRINGS));
    /**
     * NmtNewtEntry:flags
     *
     * The entry's #NmtNewtEntryFlags
     */
    g_object_class_install_property (object_class, PROP_FLAGS,
                                     g_param_spec_uint ("flags", "", "",
                                             0, 0xFFFF, 0,
                                             G_PARAM_READWRITE |
                                             G_PARAM_CONSTRUCT_ONLY |
                                             G_PARAM_STATIC_STRINGS));
    /**
     * NmtNewtEntry:password
     *
     * %TRUE if #NmtNewtEntry:flags contains %NMT_NEWT_ENTRY_PASSWORD,
     * %FALSE if not.
     */
    g_object_class_install_property (object_class, PROP_PASSWORD,
                                     g_param_spec_boolean ("password", "", "",
                                             FALSE,
                                             G_PARAM_READWRITE |
                                             G_PARAM_STATIC_STRINGS));
}
예제 #6
0
static void
nmt_newt_listbox_class_init (NmtNewtListboxClass *listbox_class)
{
	GObjectClass *object_class = G_OBJECT_CLASS (listbox_class);
	NmtNewtWidgetClass *widget_class = NMT_NEWT_WIDGET_CLASS (listbox_class);
	NmtNewtComponentClass *component_class = NMT_NEWT_COMPONENT_CLASS (listbox_class);

	g_type_class_add_private (listbox_class, sizeof (NmtNewtListboxPrivate));

	/* virtual methods */
	object_class->set_property = nmt_newt_listbox_set_property;
	object_class->get_property = nmt_newt_listbox_get_property;
	object_class->finalize     = nmt_newt_listbox_finalize;

	widget_class->size_request  = nmt_newt_listbox_size_request;
	widget_class->size_allocate = nmt_newt_listbox_size_allocate;
	widget_class->activated     = nmt_newt_listbox_activated;

	component_class->build_component = nmt_newt_listbox_build_component;

	/* properties */

	/**
	 * NmtNewtListbox:height:
	 *
	 * The listbox's height, or -1 if it has no fixed height.
	 */
	g_object_class_install_property
		(object_class, PROP_HEIGHT,
		 g_param_spec_int ("height", "", "",
		                   -1, 255, -1,
		                   G_PARAM_READWRITE |
		                   G_PARAM_STATIC_STRINGS));
	/**
	 * NmtNewtListbox:flags:
	 *
	 * The listbox's #NmtNewtListboxFlags.
	 */
	g_object_class_install_property
		(object_class, PROP_FLAGS,
		 g_param_spec_uint ("flags", "", "",
		                    0, 0xFFFF, 0,
		                    G_PARAM_READWRITE |
		                    G_PARAM_CONSTRUCT_ONLY |
		                    G_PARAM_STATIC_STRINGS));
	/**
	 * NmtNewtListbox:active:
	 *
	 * The currently-selected row.
	 */
	g_object_class_install_property
		(object_class, PROP_ACTIVE,
		 g_param_spec_int ("active", "", "",
		                   0, G_MAXINT, 0,
		                   G_PARAM_READWRITE |
		                   G_PARAM_STATIC_STRINGS));
	/**
	 * NmtNewtListbox:active-key:
	 *
	 * The key of the currently-selected row.
	 */
	g_object_class_install_property
		(object_class, PROP_ACTIVE_KEY,
		 g_param_spec_pointer ("active-key", "", "",
		                       G_PARAM_READWRITE |
		                       G_PARAM_STATIC_STRINGS));
	/**
	 * NmtNewtListbox:skip-null-keys:
	 *
	 * If %TRUE, rows with %NULL key values will be skipped over when
	 * navigating the list with the arrow keys.
	 */
	g_object_class_install_property
		(object_class, PROP_SKIP_NULL_KEYS,
		 g_param_spec_boolean ("skip-null-keys", "", "",
		                       FALSE,
		                       G_PARAM_READWRITE |
		                       G_PARAM_CONSTRUCT_ONLY |
		                       G_PARAM_STATIC_STRINGS));
}