From 8c3bbad2c281404a98f4089b4deae11291b31f8a Mon Sep 17 00:00:00 2001 From: "Crom (Thibaut CHARLES)" Date: Tue, 18 Nov 2014 15:52:53 +0100 Subject: [PATCH] Column renaming --- source/app.d | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/source/app.d b/source/app.d index 7824d38..1f58874 100644 --- a/source/app.d +++ b/source/app.d @@ -101,8 +101,8 @@ void main(string[] args) auto res = fc.run(); if(res==GtkResponseType.OK){ string filename = fc.getFilename(); - version(Windows) Open(filename, tree, cast(Object)window); - else Open(filename, tree, cast(Object)header); + version(Windows) Open(filename, window, tree, cast(Object)window); + else Open(filename, window, tree, cast(Object)header); } fc.destroy(); }); @@ -147,8 +147,8 @@ void main(string[] args) //Open if exists if(args.length>=2 && exists(args[1])){ - version(Windows) Open(args[1], tree, cast(Object)window); - else Open(args[1], tree, cast(Object)header); + version(Windows) Open(args[1], window, tree, cast(Object)window); + else Open(args[1], window, tree, cast(Object)header); } window.showAll(); @@ -188,13 +188,13 @@ void Save(ref TreeView tree){ } string openedFile; -void Open(string file, ref TreeView tree, Object header){ +void Open(string file, ref MainWindow win, ref TreeView tree, Object header){ auto twoda = new TwoDA(file); openedFile = file; - version(Windows) (cast(Window)header).setTitle(file); + version(Windows) (cast(MainWindow)header).setTitle(file); else{ import gtk.HeaderBar; (cast(HeaderBar)header).setSubtitle(file); @@ -252,7 +252,25 @@ void Open(string file, ref TreeView tree, Object header){ auto col = new TreeViewColumn(s, cr, "text", cast(int)index); col.setResizable(true); - //col.setReorderable(true); + col.setClickable(true); + col.addOnClicked((TreeViewColumn col){ + import gtk.Dialog; + auto dlg = new Dialog("Rename column", win, GtkDialogFlags.MODAL, ["Cancel","Rename"], [ResponseType.CANCEL, ResponseType.OK]); + auto entry = new Entry(col.getTitle); + dlg.getContentArea.packStart(entry, false, false, 5); + entry.show(); + + if(dlg.run()==ResponseType.OK){ + auto newname = entry.getText.strip; + if(newname.countchars(" \t\n\r")==0) + col.setTitle(newname); + else + writeln("Unauthorized caracters in column name"); + } + + dlg.destroy(); + + }); tree.appendColumn(col); }