From 61885f57aa0363e253a509a3928882db36f690bf Mon Sep 17 00:00:00 2001 From: "Crom (Thibaut CHARLES)" Date: Wed, 19 Nov 2014 14:47:35 +0100 Subject: [PATCH] Moving id is forbidden --- source/app.d | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/source/app.d b/source/app.d index e9d45e4..71c1118 100644 --- a/source/app.d +++ b/source/app.d @@ -101,6 +101,19 @@ void main(string[] args) tree.setProperty("tooltip-column", 0); tree.setProperty("reorderable", true); tree.setProperty("headers-clickable", true); + tree.addOnColumnsChanged((TreeView tree){ + auto store = cast(ListStore)tree.getModel(); + + if(store.getColumnType(GetColumnStoreIndex(tree, 0)) != GType.INT){ + writeln("Position 0 is forbidden"); + foreach(i ; 0..store.getNColumns()){ + if(store.getColumnType(GetColumnStoreIndex(tree, i))==GType.INT){ + tree.moveColumnAfter(tree.getColumn(i), null); + break; + } + } + } + }); //Configure button callbacks @@ -221,6 +234,10 @@ void main(string[] args) } +int GetColumnStoreIndex(TreeView tree, int colindex){ + return cast(int)(tree.getColumn(colindex).getData("colnumber")); +} + void Save(ref TreeView tree){ auto store = cast(ListStore)tree.getModel(); if(store !is null){ @@ -236,8 +253,7 @@ void Save(ref TreeView tree){ do{ file.write(store.getValueInt(it, 0)); foreach(i ; 1..store.getNColumns()){ - int storecol = cast(int)(tree.getColumn(i).getData("colnumber")); - file.write("\t\"", store.getValueString(it, storecol), "\""); + file.write("\t\"", store.getValueString(it, GetColumnStoreIndex(tree, i)), "\""); } file.write("\n"); }while(store.iterNext(it));