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.pas100
1 files changed, 23 insertions, 77 deletions
diff --git a/libgtk_kylix/GTKView.pas b/libgtk_kylix/GTKView.pas
index db1dc93..3b46fad 100644
--- a/libgtk_kylix/GTKView.pas
+++ b/libgtk_kylix/GTKView.pas
@@ -442,24 +442,12 @@ var Path: PGtkTreePath;
Iter: TGtkTreeIter;
begin
Result := Index;
- if Application.GTKVersion_2_0_5_Up then begin
- Path := gtk_tree_path_new_from_string(StringToPgchar(IntToStr(Index)));
- if not Assigned(Path) then Exit;
- if Assigned(FTreeModelSort) then Path := gtk_tree_model_sort_convert_child_path_to_path(FTreeModelSort, Path);
- if not Assigned(Path) then Exit;
- Result := gtk_tree_path_get_indices(Path)^;
- gtk_tree_path_free(Path);
- end else
- if Assigned(FToSortedConvFunc) then Result := FToSortedConvFunc(Self, Index) else begin
- gtk_tree_model_get_iter_from_string(FTreeModel, @Iter, PChar(IntToStr(Index)));
-// gtk_tree_model_sort_convert_child_iter_to_iter(FTreeModelSort, @NewIter, @Iter);
- Path := gtk_tree_model_get_path(FTreeModel, @Iter);
- if not Assigned(Path) then Exit;
- if Assigned(FTreeModelSort) then Path := gtk_tree_model_sort_convert_child_path_to_path(FTreeModelSort, Path);
- if not Assigned(Path) then Exit;
- Result := StrToIntDef(String(gtk_tree_path_to_string(Path)), Index);
- gtk_tree_path_free(Path);
- end;
+ Path := gtk_tree_path_new_from_string(StringToPgchar(IntToStr(Index)));
+ if not Assigned(Path) then Exit;
+ if Assigned(FTreeModelSort) then Path := gtk_tree_model_sort_convert_child_path_to_path(FTreeModelSort, Path);
+ if not Assigned(Path) then Exit;
+ Result := gtk_tree_path_get_indices(Path)^;
+ gtk_tree_path_free(Path);
end;
function TGTKView.ConvertFromSorted(Index: integer): integer;
@@ -467,24 +455,12 @@ var Path: PGtkTreePath;
Iter: TGtkTreeIter;
begin
Result := Index;
- if Application.GTKVersion_2_0_5_Up then begin
- Path := gtk_tree_path_new_from_string(StringToPgchar(IntToStr(Index)));
- if not Assigned(Path) then Exit;
- if Assigned(FTreeModelSort) then Path := gtk_tree_model_sort_convert_path_to_child_path(FTreeModelSort, Path);
- if not Assigned(Path) then Exit;
- Result := gtk_tree_path_get_indices(Path)^;
- gtk_tree_path_free(Path);
- end else
- if Assigned(FFromSortedConvFunc) then Result := FFromSortedConvFunc(Self, Index) else begin
- gtk_tree_model_get_iter_from_string(FTreeModel, @Iter, PChar(IntToStr(Index)));
-// gtk_tree_model_sort_convert_child_iter_to_iter(FTreeModelSort, @NewIter, @Iter);
- Path := gtk_tree_model_get_path(FTreeModel, @Iter);
- if not Assigned(Path) then Exit;
- if Assigned(FTreeModelSort) then Path := gtk_tree_model_sort_convert_path_to_child_path(FTreeModelSort, Path);
- if not Assigned(Path) then Exit;
- Result := StrToIntDef(String(gtk_tree_path_to_string(Path)), Index);
- gtk_tree_path_free(Path);
- end;
+ Path := gtk_tree_path_new_from_string(StringToPgchar(IntToStr(Index)));
+ if not Assigned(Path) then Exit;
+ if Assigned(FTreeModelSort) then Path := gtk_tree_model_sort_convert_path_to_child_path(FTreeModelSort, Path);
+ if not Assigned(Path) then Exit;
+ Result := gtk_tree_path_get_indices(Path)^;
+ gtk_tree_path_free(Path);
end;
procedure CellDataFunc(tree_column : PGtkTreeViewColumn; cell : PGtkCellRenderer; tree_model : PGtkTreeModel; iter : PGtkTreeIter; data : gpointer); cdecl;
@@ -522,8 +498,7 @@ begin
Item := nil;
if Assigned(arg1) then begin
TGTKListView(user_data).ConvertPathToChild(arg1);
- if Application.GTKVersion_2_0_5_Up then AIndex := gtk_tree_path_get_indices(arg1)^
- else AIndex := StrToIntDef(String(gtk_tree_path_to_string(arg1)), 0);
+ AIndex := gtk_tree_path_get_indices(arg1)^;
Item := TGTKListView(user_data).Items[AIndex];
Item.FIndex := AIndex;
end;
@@ -562,39 +537,20 @@ begin
end;
function TGTKListView.GetSelected: TGTKListItem;
-var Iter{, NewIter}: TGtkTreeIter;
+var Iter: TGtkTreeIter;
Path: PGtkTreePath;
AIndex: integer;
i: integer;
begin
Result := nil;
Path := nil;
- if not Application.GTKVersion_2_0_5_Up then begin
- for i := 0 to Items.Count - 1 do begin
- Path := gtk_tree_path_new_from_string(PChar(IntToStr(i)));
- if gtk_tree_selection_path_is_selected(gtk_tree_view_get_selection(PGtkTreeView(FWidget)), Path) then Break else
-// WriteLn('Index ', i, ', Selected: ', gtk_tree_selection_path_is_selected(gtk_tree_view_get_selection(PGtkTreeView(FWidget)), Path));
- gtk_tree_path_free(Path);
- Path := nil;
- end;
-// WriteLn('Selected: ', String(gtk_tree_path_to_string(Path)));
- ConvertPathToChild(Path);
-(* gtk_tree_model_get_iter_from_string(gtk_tree_view_get_model(PGtkTreeView(FWidget)){FTreeModelSort}, @Iter, gtk_tree_path_to_string(Path));
- gtk_tree_model_sort_convert_child_iter_to_iter(FTreeModelSort, @NewIter, @Iter);
- Path := gtk_tree_model_get_path({FTreeModelSort}gtk_tree_view_get_model(PGtkTreeView(FWidget)), @NewIter);
- *)
-// gtk_tree_model_sort_clear_cache(FTreeModelSort);
-// Path := gtk_tree_model_sort_convert_path_to_child_path(FTreeModelSort, Path);
- end else begin
- if not gtk_tree_selection_get_selected(gtk_tree_view_get_selection(PGtkTreeView(FWidget)), nil, @Iter) then Exit;
- Path := gtk_tree_model_get_path(gtk_tree_view_get_model(PGtkTreeView(FWidget)), @iter);
- if not Assigned(Path) then Exit;
- ConvertPathToChild(Path);
- end;
+ if not gtk_tree_selection_get_selected(gtk_tree_view_get_selection(PGtkTreeView(FWidget)), nil, @Iter) then Exit;
+ Path := gtk_tree_model_get_path(gtk_tree_view_get_model(PGtkTreeView(FWidget)), @iter);
+ if not Assigned(Path) then Exit;
+ ConvertPathToChild(Path);
// WriteLn('Selected Converted: ', String(gtk_tree_path_to_string(Path)));
if Assigned(Path) then begin
- if Application.GTKVersion_2_0_5_Up then AIndex := gtk_tree_path_get_indices(Path)^
- else AIndex := StrToIntDef(String(gtk_tree_path_to_string(Path)), 0);
+ AIndex := gtk_tree_path_get_indices(Path)^;
Result := Items[AIndex];
Result.FIndex := AIndex;
gtk_tree_path_free(Path);
@@ -643,8 +599,7 @@ 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);
- if Application.GTKVersion_2_0_5_Up then AIndex := gtk_tree_path_get_indices(Path)^
- else AIndex := StrToIntDef(String(gtk_tree_path_to_string(Path)), 0);
+ AIndex := gtk_tree_path_get_indices(Path)^;
Result := Items[AIndex];
Result.FIndex := AIndex;
gtk_tree_path_free(Path);
@@ -1029,8 +984,7 @@ begin
DataColumn := TGTKTreeViewColumn(data).FIndex;
Path := gtk_tree_path_new_from_string(path_string);
if not Assigned(Path) then Exit;
- if Application.GTKVersion_2_0_5_Up then AIndex := gtk_tree_path_get_indices(Path)^
- else AIndex := StrToIntDef(String(gtk_tree_path_to_string(Path)), 0);
+ AIndex := gtk_tree_path_get_indices(Path)^;
TGTKTreeViewColumn(data).FOnEdited(TGTKTreeViewColumn(data), TGTKTreeViewColumn(data), ((TGTKTreeViewColumn(data).FOwner as TGTKTreeViewColumns).FOwner as TGTKListView).Items[AIndex], NewText, AllowChange, DataColumn);
if AllowChange and (((TGTKTreeViewColumn(data).FOwner as TGTKTreeViewColumns).FOwner as TGTKListView).Items.Count < AIndex) then
((TGTKTreeViewColumn(data).FOwner as TGTKTreeViewColumns).FOwner as TGTKListView).Items[AIndex].SetValue(DataColumn, NewText);
@@ -1045,8 +999,7 @@ begin
if Assigned(data) and Assigned(TGTKTreeViewColumn(data).FOnToggled) then begin
Path := gtk_tree_path_new_from_string(path_string);
if not Assigned(Path) then Exit;
- if Application.GTKVersion_2_0_5_Up then AIndex := gtk_tree_path_get_indices(Path)^
- else AIndex := StrToIntDef(String(gtk_tree_path_to_string(Path)), 0);
+ AIndex := gtk_tree_path_get_indices(Path)^;
TGTKTreeViewColumn(data).FOnToggled(TGTKTreeViewColumn(data), TGTKTreeViewColumn(data), ((TGTKTreeViewColumn(data).FOwner as TGTKTreeViewColumns).FOwner as TGTKListView).Items[AIndex]);
end;
end;
@@ -1267,12 +1220,6 @@ var Iter, NewIter: TGtkTreeIter;
Path: PGtkTreePath;
begin
try
- if not Application.GTKVersion_2_0_5_Up then begin
- Path := gtk_tree_path_new_from_string(StringToPgchar(IntToStr(FIndex)));
- ((FOwner as TGTKListItems).FOwner as TGTKView).ConvertChildToPath(Path);
- gtk_tree_selection_select_path(((FOwner as TGTKListItems).FOwner as TGTKView).FSelection, Path);
- gtk_tree_path_free(Path);
- end else
if gtk_tree_model_get_iter_from_string(PGtkTreeModel((FOwner as TGTKListItems).FStore), @Iter, StringToPgchar(IntToStr(FIndex))) then begin
if Assigned(((FOwner as TGTKListItems).FOwner as TGTKView).FTreeModelSort) then begin
gtk_tree_model_sort_convert_child_iter_to_iter(((FOwner as TGTKListItems).FOwner as TGTKView).FTreeModelSort, @NewIter, @Iter);
@@ -1298,8 +1245,7 @@ begin
Column := ((FOwner as TGTKListItems).FOwner as TGTKView).Columns[FocusColumnNo].FColumn;
// Renderer := ((FOwner as TGTKListItems).FOwner as TGTKView).Columns[FocusColumnNo].FRenderer;
-// if not Application.GTKVersion_2_0_5_Up then
- for i := 1 to 2 do gtk_main_iteration_do(False); // This ugly piece of code HAVE TO BE HERE due some focus-related problems in GtkTreeView
+ for i := 1 to 2 do gtk_main_iteration_do(False); // This ugly piece of code HAVE TO BE HERE due some focus-related problems in GtkTreeView
gtk_tree_view_set_cursor(PGtkTreeView(((FOwner as TGTKListItems).FOwner as TGTKView).FWidget), Path, Column, StartEditing);
// gtk_tree_view_set_cursor(PGtkTreeView(((FOwner as TGTKListItems).FOwner as TGTKView).FWidget), Path, Column, StartEditing);
// gtk_tree_view_set_cursor_on_cell(PGtkTreeView(((FOwner as TGTKListItems).FOwner as TGTKView).FWidget), Path, Column, Renderer, StartEditing);