Most operations OK

This commit is contained in:
Crom (Thibaut CHARLES) 2014-11-18 14:41:47 +01:00
parent 12e083eb1d
commit 9f6bbb689b
1 changed files with 47 additions and 8 deletions

View File

@ -99,6 +99,44 @@ void main(string[] args)
fc.destroy(); fc.destroy();
}); });
buttonInsert.addOnClicked((Button){
TreeIter it = tree.getSelectedIter();
auto store = cast(ListStore)tree.getModel();
if(store !is null){
store.insertAfter(it, it);
store.setValue(it, 0, 0);
foreach(i ; 1..store.getNColumns()){
store.setValue(it, cast(int)i, "_");
}
}
});
buttonDelete.addOnClicked((Button){
TreeIter it = tree.getSelectedIter();
auto store = cast(ListStore)tree.getModel();
if(store !is null)
store.remove(it);
});
buttonRenumber.addOnClicked((Button){
auto store = cast(ListStore)tree.getModel();
if(store !is null){
TreeIter it = new TreeIter();
if(store.getIterFirst(it)){
int id = 0;
do{
store.setValue(it, 0, id++);
}while(store.iterNext(it));
}
}
});
//Open if exists //Open if exists
if(args.length>=2 && exists(args[1])){ if(args.length>=2 && exists(args[1])){
version(Windows) Open(args[1], tree, cast(Object)window); version(Windows) Open(args[1], tree, cast(Object)window);
@ -115,14 +153,15 @@ void Save(ref TreeView tree){
auto store = cast(ListStore)tree.getModel(); auto store = cast(ListStore)tree.getModel();
if(store !is null){ if(store !is null){
TreeIter it = new TreeIter(); TreeIter it = new TreeIter();
store.getIterFirst(it);//TODO: fail if first is null if(store.getIterFirst(it)){
do{ do{
std.stdio.write("\t",store.getValueInt(it, 0)); std.stdio.write("\t",store.getValueInt(it, 0));
foreach(i ; 1..store.getNColumns()){ foreach(i ; 1..store.getNColumns()){
std.stdio.write("\t",store.getValueString(it, i)); std.stdio.write("\t",store.getValueString(it, i));
} }
writeln(); writeln();
}while(store.iterNext(it)); }while(store.iterNext(it));
}
} }
else else
writeln("Nothing to save !"); writeln("Nothing to save !");