ege-select-one-action.cpp revision 09e25b703eec45330206583138907e878579c1d2
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
*/
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is EGE Select One Action.
*
* The Initial Developer of the Original Code is
* Jon A. Cruz.
* Portions created by the Initial Developer are Copyright (C) 2007
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
/* Note: this file should be kept compilable as both .cpp and .c */
#include <string.h>
#include <gtk/gtklabel.h>
#include <gtk/gtktoolitem.h>
#include <gtk/gtkcombobox.h>
#include <gtk/gtkcellrenderertext.h>
#include <gtk/gtkcelllayout.h>
#include <gtk/gtkradiomenuitem.h>
#include "ege-select-one-action.h"
enum {
CHANGED = 0,
static void ege_select_one_action_get_property( GObject* obj, guint propId, GValue* value, GParamSpec * pspec );
static void ege_select_one_action_set_property( GObject* obj, guint propId, const GValue *value, GParamSpec* pspec );
static GtkActionClass* gParentClass = 0;
struct _EgeSelectOneActionPrivate
{
};
#define EGE_SELECT_ONE_ACTION_GET_PRIVATE( o ) ( G_TYPE_INSTANCE_GET_PRIVATE( (o), EGE_SELECT_ONE_ACTION_TYPE, EgeSelectOneActionPrivate ) )
enum {
PROP_MODEL = 1,
};
GType ege_select_one_action_get_type( void )
{
if ( !myType ) {
sizeof( EgeSelectOneActionClass ),
NULL, /* base_init */
NULL, /* base_finalize */
NULL, /* class_finalize */
NULL, /* class_data */
sizeof( EgeSelectOneAction ),
0, /* n_preallocs */
};
}
return myType;
}
{
if ( klass ) {
g_param_spec_object( "model",
"Tree Model",
"Tree model of possible items",
g_param_spec_int( "active",
"Active Selection",
"The index of the selected item",
0, 20, 0,
g_param_spec_int( "column",
"Display Column",
"The column of the model that holds display strings",
0, 20, 0,
G_TYPE_NONE, 0);
}
}
{
/* g_signal_connect( action, "notify", G_CALLBACK( fixup_labels ), NULL ); */
}
{
"name", name,
"label", label,
"tooltip", tooltip,
"stock_id", stock_id,
"model", model,
"active", 0,
NULL );
return action;
}
{
}
{
}
{
}
{
}
void ege_select_one_action_get_property( GObject* obj, guint propId, GValue* value, GParamSpec * pspec )
{
switch ( propId ) {
case PROP_MODEL:
break;
case PROP_ACTIVE:
break;
case PROP_COLUMN:
break;
default:
}
}
void ege_select_one_action_set_property( GObject* obj, guint propId, const GValue *value, GParamSpec* pspec )
{
switch ( propId ) {
case PROP_MODEL:
{
}
break;
case PROP_ACTIVE:
{
}
break;
case PROP_COLUMN:
{
}
break;
default:
}
}
{
if ( IS_EGE_SELECT_ONE_ACTION(action) ) {
while ( valid ) {
-1 );
index++;
}
} else {
}
return item;
}
{
{
gtk_cell_layout_set_attributes( GTK_CELL_LAYOUT(normal), renderer, "text", act->private_data->column, (gchar*)0);
} else {
}
return item;
}
{
}
{
}
{
while ( proxies ) {
/* Search for the things we built up in create_tool_item() */
}
}
}
}
}
}
}
{
}
}
{
}
}