summaryrefslogtreecommitdiff
path: root/libgtk_kylix/GTKView.pas
diff options
context:
space:
mode:
Diffstat (limited to 'libgtk_kylix/GTKView.pas')
-rw-r--r--libgtk_kylix/GTKView.pas53
1 files changed, 27 insertions, 26 deletions
diff --git a/libgtk_kylix/GTKView.pas b/libgtk_kylix/GTKView.pas
index 3cd00dc..b971e7d 100644
--- a/libgtk_kylix/GTKView.pas
+++ b/libgtk_kylix/GTKView.pas
@@ -1,6 +1,5 @@
(*
GTK-Kylix Library: GTKView - GtkTreeView and its modifications
- Version 0.6.21 (last updated 2006-05-06)
Copyright (C) 2006 Tomas Bzatek <tbzatek@users.sourceforge.net>
This library is free software; you can redistribute it and/or
@@ -24,7 +23,7 @@ unit GTKView;
interface
-uses gtk2, gdk2, gdk2pixbuf, glib2, lazglib2, lazgobject2, Classes, GTKControls, GTKForms;
+uses lazglib2, lazgobject2, lazgdk3, lazgtk3, lazgdkpixbuf2, Classes, GTKClasses, GTKControls, GTKForms;
type
TGTKListItem = class;
@@ -307,7 +306,7 @@ end;
procedure TGTKView.SetSelectionMode(Value: TGTKSelectionMode);
begin
- gtk_tree_selection_set_mode(FSelection, Integer(Value));
+ gtk_tree_selection_set_mode(FSelection, lazgtk3.TGtkSelectionMode(Value));
end;
procedure TGTKView.SelectAll;
@@ -331,13 +330,16 @@ begin
end;
function TGTKView.GetRulesHint: boolean;
+var b: boolean;
begin
- Result := gtk_tree_view_get_rules_hint(PGtkTreeView(FWidget));
+ b := False;
+ g_object_get(PGObject(FWidget), 'rules-hint', [@b, nil]);
+ Result := b;
end;
procedure TGTKView.SetRulesHint(Value: boolean);
begin
- gtk_tree_view_set_rules_hint(PGtkTreeView(FWidget), Value);
+ g_object_set(PGObject(FWidget), 'rules-hint', [gboolean(Value), nil]);
end;
function TGTKView.GetReorderable: boolean;
@@ -417,7 +419,7 @@ var sort_column_id: gint;
order: TGtkSortType;
begin
Result := soNone;
- order := 0;
+ order := GTK_SORT_ASCENDING;
if (FTreeModelSort <> nil) and gtk_tree_sortable_get_sort_column_id(PGtkTreeSortable(FTreeModelSort), @sort_column_id, @order)
then Result := TGTKTreeViewSortOrder(order);
end;
@@ -511,8 +513,8 @@ begin
FTreeModelSort := nil;
if not FSortable then FWidget := gtk_tree_view_new_with_model(PGtkTreeModel(FListItems.FStore))
else begin
- FTreeModelSort := gtk_tree_model_sort_new_with_model(FListItems.FStore);
- FWidget := gtk_tree_view_new_with_model(FTreeModelSort);
+ FTreeModelSort := gtk_tree_model_sort_new_with_model(PGtkTreeModel(FListItems.FStore));
+ FWidget := gtk_tree_view_new_with_model(PGtkTreeModel(FTreeModelSort));
end;
FSelection := gtk_tree_view_get_selection(PGtkTreeView(FWidget));
g_signal_connect_data(PGObject(FSelection), 'changed', TGCallback(@TGTKListView_changed), Self, nil, G_CONNECT_DEFAULT);
@@ -592,7 +594,7 @@ begin
Result := nil;
Path := nil;
Column := nil;
- if gtk_tree_view_get_path_at_pos(PGtkTreeView(FWidget), X, Y, Path, Column, nil, nil) then begin
+ if gtk_tree_view_get_path_at_pos(PGtkTreeView(FWidget), X, Y, @Path, @Column, nil, nil) then begin
if not Assigned(Path) then Exit;
ConvertPathToChild(Path);
AIndex := gtk_tree_path_get_indices(Path)^;
@@ -606,11 +608,10 @@ end;
(********************************************************************************************************************************)
(********************************************************************************************************************************)
constructor TGTKListItems.Create(AOwner: TComponent);
-const Types : GType = G_TYPE_STRING;
begin
inherited Create(AOwner);
FOwner := AOwner;
- FStore := gtk_list_store_newv(1, @Types);
+ FStore := gtk_list_store_new(1, [G_TYPE_STRING]);
FList := TList.Create;
end;
@@ -619,14 +620,14 @@ begin
if not (csDestroying in ComponentState) then begin
Clear;
FList.Free;
- gtk_object_destroy(PGtkObject(FStore));
+ g_object_unref(PGObject(FStore));
end;
inherited Destroy;
end;
constructor TGTKListItems.CreateTyped(AOwner: TComponent; ColumnTypes: array of TGTKListColumnType);
var i: integer;
- Cols : array[0..255] of GType;
+ Cols: array[0..255] of TGType;
begin
inherited Create(AOwner);
FOwner := AOwner;
@@ -636,7 +637,7 @@ begin
lcText : Cols[i] := G_TYPE_STRING;
lcNumber : Cols[i] := G_TYPE_LONG;
lcPointer : Cols[i] := G_TYPE_POINTER;
- lcPixbuf : Cols[i] := GDK_TYPE_PIXBUF;
+ lcPixbuf : Cols[i] := gdk_pixbuf_get_type();
lcBoolean : Cols[i] := G_TYPE_BOOLEAN;
end;
FStore := gtk_list_store_newv(Length(ColumnTypes), @Cols);
@@ -644,14 +645,14 @@ end;
procedure TGTKListItems.SetColumnTypes(Types: array of TGTKListColumnType);
var i: integer;
- Cols : array[0..255] of GType;
+ Cols : array[0..255] of TGType;
begin
for i := Low(Types) to High(Types) do
case Types[i] of
lcText : Cols[i] := G_TYPE_STRING;
lcNumber : Cols[i] := G_TYPE_LONG;
lcPointer : Cols[i] := G_TYPE_POINTER;
- lcPixbuf : Cols[i] := GDK_TYPE_PIXBUF;
+ lcPixbuf : Cols[i] := gdk_pixbuf_get_type();
lcBoolean : Cols[i] := G_TYPE_BOOLEAN;
end;
g_object_unref(PGObject(FStore));
@@ -827,8 +828,8 @@ end;
destructor TGTKTreeViewColumn.Destroy;
begin
if not (csDestroying in ComponentState) then begin
- gtk_object_destroy(PGtkObject(FRenderer));
- if GTK_IS_OBJECT(FColumn) then gtk_object_destroy(PGtkObject(FColumn));
+ if Assigned(FRenderer) then g_object_unref(PGObject(FRenderer));
+ if Assigned(FColumn) then g_object_unref(PGObject(FColumn));
end;
inherited Destroy;
end;
@@ -1011,7 +1012,7 @@ begin
FColumnType := Value;
if Assigned(FRenderer) then begin
gtk_tree_view_column_clear(FColumn);
- gtk_object_destroy(PGtkObject(FRenderer));
+ g_object_unref(PGObject(FRenderer));
end;
case Value of
ctText : FRenderer := gtk_cell_renderer_text_new;
@@ -1177,28 +1178,28 @@ procedure TGTKListItem.SetValue(Index: longint; Value: string);
var Iter: TGtkTreeIter;
begin
if gtk_tree_model_get_iter_from_string(PGtkTreeModel((FOwner as TGTKListItems).FStore), @Iter, PChar(IntToStr(FIndex)))
- then gtk_list_store_set(PGtkTreeModel((FOwner as TGTKListItems).FStore), @Iter, Index, PChar(Value), -1);
+ then gtk_list_store_set((FOwner as TGTKListItems).FStore, @Iter, [Index, PChar(Value), -1]);
end;
procedure TGTKListItem.SetValue(Index: longint; Value: integer);
var Iter: TGtkTreeIter;
begin
if gtk_tree_model_get_iter_from_string(PGtkTreeModel((FOwner as TGTKListItems).FStore), @Iter, PChar(IntToStr(FIndex)))
- then gtk_list_store_set(PGtkTreeModel((FOwner as TGTKListItems).FStore), @Iter, Index, Value, -1);
+ then gtk_list_store_set((FOwner as TGTKListItems).FStore, @Iter, [Index, Value, -1]);
end;
procedure TGTKListItem.SetValue(Index: longint; Value: pointer);
var Iter: TGtkTreeIter;
begin
if gtk_tree_model_get_iter_from_string(PGtkTreeModel((FOwner as TGTKListItems).FStore), @Iter, PChar(IntToStr(FIndex)))
- then gtk_list_store_set(PGtkTreeModel((FOwner as TGTKListItems).FStore), @Iter, Index, Value, -1);
+ then gtk_list_store_set((FOwner as TGTKListItems).FStore, @Iter, [Index, Value, -1]);
end;
procedure TGTKListItem.SetValue(Index: longint; Value: boolean);
var Iter: TGtkTreeIter;
begin
if gtk_tree_model_get_iter_from_string(PGtkTreeModel((FOwner as TGTKListItems).FStore), @Iter, PChar(IntToStr(FIndex)))
- then gtk_list_store_set(PGtkTreeModel((FOwner as TGTKListItems).FStore), @Iter, Index, Value, -1);
+ then gtk_list_store_set((FOwner as TGTKListItems).FStore, @Iter, [Index, Value, -1]);
end;
function TGTKListItem.GetSelected: boolean;
@@ -1266,8 +1267,8 @@ begin
gtk_tree_view_column_focus_cell(Column, ((FOwner as TGTKListItems).FOwner as TGTKView).Columns[ColumnNo].FRenderer);
CellEditable := gtk_cell_renderer_start_editing(((FOwner as TGTKListItems).FOwner as TGTKView).Columns[ColumnNo].FRenderer,
nil, ((FOwner as TGTKListItems).FOwner as TGTKView).FWidget, PChar(PChar(IntToStr(FIndex))),
- @BackgroundRect, @CellRect, {GTK_CELL_RENDERER_SELECTED or GTK_CELL_RENDERER_SORTED} 0);
- gtk_widget_show(CellEditable);
+ @BackgroundRect, @CellRect, []);
+ gtk_widget_show(PGtkWidget(CellEditable));
// gtk_cell_editable_start_editing(CellEditable, nil);
@@ -1287,7 +1288,7 @@ begin
gtk_tree_view_get_background_area(PGtkTreeView(((FOwner as TGTKListItems).FOwner as TGTKView).FWidget), Path, Column, @BackgroundRect);
Rect.x := 0;
- Rect.width := ((FOwner as TGTKListItems).FOwner as TGTKView).FWidget^.allocation.width;
+ Rect.width := gtk_widget_get_allocated_width(((FOwner as TGTKListItems).FOwner as TGTKView).FWidget);
Rect.y := BackgroundRect.y;
Rect.height := BackgroundRect.height;
gdk_window_invalidate_rect(gtk_tree_view_get_bin_window(PGtkTreeView(((FOwner as TGTKListItems).FOwner as TGTKView).FWidget)), @Rect, True);