* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#include "config.h"
struct _ViewColumnModel
{
- GObject parent;
+ GtkListStore parent;
GtkTreeView *view;
GList *columns;
gint stamp;
struct _ViewColumnModelClass
{
- GObjectClass parent_class;
+ GtkListStoreClass parent_class;
};
static void view_column_model_init (ViewColumnModel *model)
iface->row_drop_possible = view_column_model_row_drop_possible;
}
-GType
-view_column_model_get_type (void)
+static void
+view_column_model_class_init (ViewColumnModelClass *klass)
{
- static GType view_column_model_type = 0;
-
- if (!view_column_model_type)
- {
- const GTypeInfo view_column_model_info =
- {
- sizeof (GtkListStoreClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- NULL, /* class_init */
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (GtkListStore),
- 0,
- (GInstanceInitFunc) view_column_model_init,
- };
-
- const GInterfaceInfo tree_model_info =
- {
- (GInterfaceInitFunc) view_column_model_tree_model_init,
- NULL,
- NULL
- };
-
- const GInterfaceInfo drag_source_info =
- {
- (GInterfaceInitFunc) view_column_model_drag_source_init,
- NULL,
- NULL
- };
-
- const GInterfaceInfo drag_dest_info =
- {
- (GInterfaceInitFunc) view_column_model_drag_dest_init,
- NULL,
- NULL
- };
-
- view_column_model_type = g_type_register_static (G_TYPE_OBJECT, "ViewModelColumn", &view_column_model_info, 0);
- g_type_add_interface_static (view_column_model_type,
- GTK_TYPE_TREE_MODEL,
- &tree_model_info);
- g_type_add_interface_static (view_column_model_type,
- GTK_TYPE_TREE_DRAG_SOURCE,
- &drag_source_info);
- g_type_add_interface_static (view_column_model_type,
- GTK_TYPE_TREE_DRAG_DEST,
- &drag_dest_info);
- }
-
- return view_column_model_type;
}
+G_DEFINE_TYPE_WITH_CODE (ViewColumnModel, view_column_model, GTK_TYPE_LIST_STORE,
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL, view_column_model_tree_model_init)
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_DRAG_SOURCE, view_column_model_drag_source_init)
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_DRAG_DEST, view_column_model_drag_dest_init))
+
static void
update_columns (GtkTreeView *view, ViewColumnModel *view_model)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_window_set_default_size (GTK_WINDOW (window), 500, 300);
- vbox = gtk_vbox_new (FALSE, 8);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
gtk_container_add (GTK_CONTAINER (window), vbox);
- hbox = gtk_hbox_new (FALSE, 8);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8);
gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
/* Left Pane */
gtk_box_pack_start (GTK_BOX (hbox), swindow, TRUE, TRUE, 0);
/* Middle Pane */
- vbox2 = gtk_vbox_new (FALSE, 8);
+ vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8);
gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 0);
bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL);
/* Right Pane */
- vbox2 = gtk_vbox_new (FALSE, 8);
+ vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8);
gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
swindow = gtk_scrolled_window_new (NULL, NULL);
GDK_ACTION_MOVE);
- gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL),
+ FALSE, FALSE, 0);
- hbox = gtk_hbox_new (FALSE, 8);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
button = gtk_button_new_with_mnemonic ("_Add new Column");
g_signal_connect (button, "clicked", G_CALLBACK (add_clicked), left_tree_model);