Skip to content
Snippets Groups Projects
Commit de2d629f authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

- better file names for views created by plugins
- use the file name as a guess for view_save_{ascii,binary}
parent f3f101fd
No related branches found
No related tags found
No related merge requests found
// $Id: Callbacks.cpp,v 1.209 2004-03-05 23:47:35 geuzaine Exp $ // $Id: Callbacks.cpp,v 1.210 2004-03-13 19:24:12 geuzaine Exp $
// //
// Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
// //
...@@ -61,9 +61,9 @@ extern Context_T CTX; ...@@ -61,9 +61,9 @@ extern Context_T CTX;
static char *fn = NULL; static char *fn = NULL;
int file_chooser(int multi, int create, const char *message, int file_chooser(int multi, int create, const char *message,
const char *pat, int patindex) const char *pat, int patindex, char *fname=NULL)
{ {
fn = fl_file_chooser(message, pat, NULL); fn = fl_file_chooser(message, pat, fname);
if(fn) if(fn)
return 1; return 1;
else else
...@@ -88,7 +88,7 @@ int file_chooser_get_filter() ...@@ -88,7 +88,7 @@ int file_chooser_get_filter()
static Fl_File_Chooser *fc = NULL; static Fl_File_Chooser *fc = NULL;
int file_chooser(int multi, int create, const char *message, int file_chooser(int multi, int create, const char *message,
const char *pat, int patindex) const char *pat, int patindex, char *fname=NULL)
{ {
static char oldfilter[1024]; static char oldfilter[1024];
...@@ -102,6 +102,9 @@ int file_chooser(int multi, int create, const char *message, ...@@ -102,6 +102,9 @@ int file_chooser(int multi, int create, const char *message,
fc->label(message); fc->label(message);
if(fname)
fc->value(fname);
if(strncmp(oldfilter, pat, 1024)) { if(strncmp(oldfilter, pat, 1024)) {
strncpy(oldfilter, pat, 1024); strncpy(oldfilter, pat, 1024);
fc->filter(pat); fc->filter(pat);
...@@ -2911,8 +2914,11 @@ void view_remove_cb(CALLBACK_ARGS) ...@@ -2911,8 +2914,11 @@ void view_remove_cb(CALLBACK_ARGS)
void view_save_ascii_cb(CALLBACK_ARGS) void view_save_ascii_cb(CALLBACK_ARGS)
{ {
Post_View *v = (Post_View *) List_Pointer(CTX.post.list, (long int)data);
if(!v) return;
test: test:
if(file_chooser(0, 1, "Save view in ASCII format", "*", 0)) { if(file_chooser(0, 1, "Save view in ASCII format", "*", 0, v->FileName)) {
char *name = file_chooser_get_name(1); char *name = file_chooser_get_name(1);
if(CTX.confirm_overwrite) { if(CTX.confirm_overwrite) {
struct stat buf; struct stat buf;
...@@ -2923,15 +2929,17 @@ test: ...@@ -2923,15 +2929,17 @@ test:
goto test; goto test;
} }
save: save:
WriteView((Post_View *) List_Pointer(CTX.post.list, (long int)data), WriteView(v, name, 0, 0);
name, 0, 0);
} }
} }
void view_save_binary_cb(CALLBACK_ARGS) void view_save_binary_cb(CALLBACK_ARGS)
{ {
Post_View *v = (Post_View *) List_Pointer(CTX.post.list, (long int)data);
if(!v) return;
test: test:
if(file_chooser(0, 1, "Save view in binary format", "*", 0)) { if(file_chooser(0, 1, "Save view in binary format", "*", 0, v->FileName)) {
char *name = file_chooser_get_name(1); char *name = file_chooser_get_name(1);
if(CTX.confirm_overwrite) { if(CTX.confirm_overwrite) {
struct stat buf; struct stat buf;
...@@ -2942,8 +2950,7 @@ test: ...@@ -2942,8 +2950,7 @@ test:
goto test; goto test;
} }
save: save:
WriteView((Post_View *) List_Pointer(CTX.post.list, (long int)data), WriteView(v, name, 1, 0);
name, 1, 0);
} }
} }
......
// $Id: Extract.cpp,v 1.3 2004-03-08 23:15:25 geuzaine Exp $ // $Id: Extract.cpp,v 1.4 2004-03-13 19:24:12 geuzaine Exp $
// //
// Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
// //
...@@ -173,8 +173,8 @@ Post_View *GMSH_ExtractPlugin::execute(Post_View * v) ...@@ -173,8 +173,8 @@ Post_View *GMSH_ExtractPlugin::execute(Post_View * v)
List_Add(view->Time, List_Pointer(vv->Time, i)); List_Add(view->Time, List_Pointer(vv->Time, i));
// finalize // finalize
char name[1024], filename[1024]; char name[1024], filename[1024];
sprintf(name, "extract-%s", vv->Name); sprintf(name, "%s_Extract_%d", vv->Name, iComp);
sprintf(filename, "extract-%s", vv->FileName); sprintf(filename, "%s_Extract_%d.pos", vv->Name, iComp);
EndView(view, 1, filename, name); EndView(view, 1, filename, name);
} }
......
// $Id: Harmonic2Time.cpp,v 1.11 2004-02-07 01:40:30 geuzaine Exp $ // $Id: Harmonic2Time.cpp,v 1.12 2004-03-13 19:24:12 geuzaine Exp $
// //
// Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
// //
...@@ -137,11 +137,9 @@ Post_View *GMSH_Harmonic2TimePlugin::execute(Post_View * v) ...@@ -137,11 +137,9 @@ Post_View *GMSH_Harmonic2TimePlugin::execute(Post_View * v)
// FIXME: todo // FIXME: todo
// finalize // finalize
char name[1024], filename[1024]; char name[1024], filename[1024];
sprintf(name, "h2t-%s", vv->Name); sprintf(name, "%s_Harmonic2Time", vv->Name);
sprintf(filename, "h2t-%s", vv->FileName); sprintf(filename, "%s_Harmonic2Time.pos", vv->Name);
EndView(View, 1, filename, name); EndView(View, 1, filename, name);
Msg(INFO, "Created view '%s'", name);
return View;
} }
return 0; return 0;
......
// $Id: Levelset.cpp,v 1.12 2004-02-07 01:40:30 geuzaine Exp $ // $Id: Levelset.cpp,v 1.13 2004-03-13 19:24:12 geuzaine Exp $
// //
// Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
// //
...@@ -526,8 +526,8 @@ Post_View *GMSH_LevelsetPlugin::execute(Post_View * v) ...@@ -526,8 +526,8 @@ Post_View *GMSH_LevelsetPlugin::execute(Post_View * v)
// FIXME: todo // FIXME: todo
// finalize // finalize
char name[1024], filename[1024]; char name[1024], filename[1024];
sprintf(name, "cut-%s-%d", v->Name, i); sprintf(name, "%s_Levelset_%d", v->Name, i);
sprintf(filename, "cut-%s-%d", v->FileName, i); sprintf(filename, "%s_Levelset_%d.pos", v->Name, i);
EndView(out[i], 1, filename, name); EndView(out[i], 1, filename, name);
} }
......
// $Id: Skin.cpp,v 1.24 2004-02-07 01:40:30 geuzaine Exp $ // $Id: Skin.cpp,v 1.25 2004-03-13 19:24:12 geuzaine Exp $
// //
// Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
// //
...@@ -288,8 +288,8 @@ Post_View *GMSH_SkinPlugin::execute(Post_View * v) ...@@ -288,8 +288,8 @@ Post_View *GMSH_SkinPlugin::execute(Post_View * v)
List_Add(view->Time, List_Pointer(vv->Time, i)); List_Add(view->Time, List_Pointer(vv->Time, i));
// finalize // finalize
char name[1024], filename[1024]; char name[1024], filename[1024];
sprintf(name, "skin-%s", vv->Name); sprintf(name, "%s_Skin", vv->Name);
sprintf(filename, "skin-%s", vv->FileName); sprintf(filename, "%s_Skin.pos", vv->Name);
EndView(view, 1, filename, name); EndView(view, 1, filename, name);
} }
......
// $Id: Triangulate.cpp,v 1.18 2004-02-07 01:40:30 geuzaine Exp $ // $Id: Triangulate.cpp,v 1.19 2004-03-13 19:24:12 geuzaine Exp $
// //
// Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
// //
...@@ -227,16 +227,11 @@ Post_View *GMSH_TriangulatePlugin::execute(Post_View * v) ...@@ -227,16 +227,11 @@ Post_View *GMSH_TriangulatePlugin::execute(Post_View * v)
List_Add(View->Time, List_Pointer(vv->Time, i)); List_Add(View->Time, List_Pointer(vv->Time, i));
// finalize // finalize
char name[1024], filename[1024]; char name[1024], filename[1024];
sprintf(name, "triangulate-%s", vv->Name); sprintf(name, "%s_Triangulate", vv->Name);
sprintf(filename, "triangulate-%s", vv->FileName); sprintf(filename, "%s_Triangulate.pos", vv->Name);
EndView(View, 1, filename, name); EndView(View, 1, filename, name);
Msg(INFO, "Created view '%s'", name);
return View;
}
else {
Msg(WARNING, "No scalar points to triangulate in View[%d]", vv->Index);
return 0;
} }
return 0;
} }
$Id: TODO,v 1.36 2004-03-10 15:31:46 geuzaine Exp $ $Id: TODO,v 1.37 2004-03-13 19:24:12 geuzaine Exp $
add some code to make the node/element list ordered+dense (with no
gaps)? this seems to be one common problem users have with our mesh
format...
******************************************************************** ********************************************************************
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment