diff options
| author | Matthias Melcher <github@matthiasm.com> | 2025-03-07 16:34:35 +0100 |
|---|---|---|
| committer | Matthias Melcher <github@matthiasm.com> | 2025-03-07 16:34:48 +0100 |
| commit | 1985aefc0e502048f92b91beef87c0dfbe669fed (patch) | |
| tree | af62874def4590e437a47784b4428d975ceb262f /fluid/template_panel.fl | |
| parent | 42a04c064d4b31c3a85210311f3ada163c406a25 (diff) | |
Restructuring Fluid source files.
Diffstat (limited to 'fluid/template_panel.fl')
| -rw-r--r-- | fluid/template_panel.fl | 298 |
1 files changed, 0 insertions, 298 deletions
diff --git a/fluid/template_panel.fl b/fluid/template_panel.fl deleted file mode 100644 index f4e4f8bb2..000000000 --- a/fluid/template_panel.fl +++ /dev/null @@ -1,298 +0,0 @@ -# data file for the Fltk User Interface Designer (fluid) -version 1.0500 -header_name {.h} -code_name {.cxx} -comment {// -// FLUID template support for the Fast Light Tool Kit (FLTK). -// -// Copyright 1998-2020 by Bill Spitzak and others. -// -// This library is free software. Distribution and use rights are outlined in -// the file "COPYING" which should have been included with this file. If this -// file is missing or damaged, see the license at: -// -// https://www.fltk.org/COPYING.php -// -// Please see the following page on how to report bugs and issues: -// -// https://www.fltk.org/bugs.php -// -} {in_source in_header -} - -decl {\#include "fluid.h"} {private local -} - -decl {\#include <FL/Fl_Shared_Image.H>} {private local -} - -decl {\#include <FL/fl_ask.H>} {private local -} - -decl {\#include <FL/fl_string_functions.h>} {private local -} - -decl {\#include "fluid_filename.h"} {private local -} - -decl {\#include "../src/flstring.h"} {private local -} - -decl {\#include <stdio.h>} {private local -} - -decl {\#include <stdlib.h>} {private local -} - -decl {\#include <errno.h>} {private local -} - -decl {\#include <zlib.h>} {private local -} - -declblock {\#if defined(_WIN32) && !defined(__CYGWIN__)} {after {\#endif // _WIN32 && !__CYGWIN__} -} { - decl {\#include <io.h>} {private local - } - decl {\#else} {private local - } - decl {\#include <unistd.h>} {private local - } -} - -Function {make_template_panel()} {open -} { - Fl_Window template_panel { - label {New/Save Template} - callback {Fl_Shared_Image *img = (Fl_Shared_Image *)template_preview->image(); -if (img) img->release(); -template_preview->image(0); - -template_browser->deselect(); -template_name->value(""); -template_instance->value(""); -template_panel->hide();} open - xywh {478 284 460 355} type Double resizable modal visible - } { - Fl_Browser template_browser { - label {Available Templates:} - callback {if (Fl::event_clicks()) { - template_panel->hide(); - return; -} -Fl_Shared_Image *img = (Fl_Shared_Image *)template_preview->image(); -if (img) img->release(); -template_preview->image(0); -template_preview->redraw(); - -int item = template_browser->value(); - -if (item <= 1) template_instance->deactivate(); -else template_instance->activate(); - -if (item < 1) { - template_submit->deactivate(); - template_delete->deactivate(); - return; -} - -template_submit->activate(); - -const char *flfile = (const char *)template_browser->data(item); -if (!flfile) { - template_delete->deactivate(); - return; -} - -template_name->value(template_browser->text(item)); - -template_delete->activate(); - -char pngfile[1024], *ext; - -strlcpy(pngfile, flfile, sizeof(pngfile)); -if ((ext = strrchr(pngfile, '.')) == NULL) return; -strcpy(ext, ".png"); - -img = Fl_Shared_Image::get(pngfile); - -if (img) { - template_preview->image(img); - template_preview->redraw(); -}} - xywh {10 28 180 250} type Hold labelfont 1 align 5 when 3 - } - Fl_Box template_preview { - xywh {200 28 250 250} box THIN_DOWN_BOX align 80 resizable - } - Fl_Input template_name { - label {Template Name:} - callback {if (strlen(template_name->value())) { - template_submit->activate(); - if (Fl::event_key() == FL_Enter) template_panel->hide(); -} else template_submit->deactivate();} - xywh {198 288 252 25} labelfont 1 when 3 textfont 4 - } - Fl_Input template_instance { - label {Instance Name:} - xywh {198 288 252 25} labelfont 1 textfont 4 hide - } - Fl_Group {} {open - xywh {10 323 440 25} - } { - Fl_Button template_delete { - label {Delete Template} - callback template_delete_cb - xywh {10 323 143 25} - } - Fl_Box {} { - xywh {153 323 126 25} resizable - } - Fl_Button {} { - label Cancel - callback {Fl_Shared_Image *img = (Fl_Shared_Image *)template_preview->image(); -if (img) img->release(); -template_preview->image(0); - -template_browser->deselect(); -template_name->value(""); -template_instance->value(""); -template_panel->hide();} - xywh {289 323 72 25} - } - Fl_Return_Button template_submit { - label Save - callback {Fl_Shared_Image *img = (Fl_Shared_Image *)template_preview->image(); -if (img) img->release(); -template_preview->image(0); - -template_panel->hide();} - xywh {371 323 79 25} - } - } - } -} - -Function {template_clear()} {return_type void -} { - code {int i; -void *filename; - -for (i = 1; i <= template_browser->size(); i ++) { - if ((filename = template_browser->data(i)) != NULL) free(filename); -} - -template_browser->deselect(); -template_browser->clear();} {} -} - -Function {template_delete_cb(Fl_Button *, void *)} {open return_type void -} { - code {int item = template_browser->value(); -if (item < 1) return; - -const char *name = template_browser->text(item); -const char *flfile = (const char *)template_browser->data(item); -if (!flfile) return; - -if (!fl_choice("Are you sure you want to delete the template \\"%s\\"?", - "Cancel", "Delete", 0, name)) return; - -if (fl_unlink(flfile)) { - fl_alert("Unable to delete template \\"%s\\":\\n%s", name, strerror(errno)); - return; -} - -char pngfile[1024], *ext; -strlcpy(pngfile, flfile, sizeof(pngfile)); -if ((ext = strrchr(pngfile, '.')) != NULL) { - strcpy(ext, ".png"); - fl_unlink(pngfile); -} - -template_browser->remove(item); -template_browser->do_callback();} {selected - } -} - -data tmpl_FLTK_License_fl {private local filename {templates/FLTK_License.fl} compressed -} - -data tmpl_1of7GUIs_fl {private local filename {templates/1of7GUIs.fl} compressed -} - -Function {template_install(const char *path, const char *name, const uchar *inSrc, int inSrcLen, int inDstLen)} {open return_type void -} { - code {char filename[FL_PATH_MAX]; - strcpy(filename, path); - strcat(filename, name); - FILE *f = fopen(filename, "wb"); - if (!f) return; - uLong dstLen = inDstLen; - Bytef *dst = (Bytef*)::malloc(inDstLen); - if (uncompress(dst, &dstLen, (Bytef*)inSrc, (uLong)inSrcLen) != Z_OK) { /* error */ } - if (fwrite(dst, dstLen, 1, f) <= 0) { /* error */ } - fclose(f);} {} -} - -Function {template_load()} {open return_type void -} { - code {int i; -char name[1024], filename[1400], path[1024], *ptr; -struct dirent **files; -int num_files; - -fluid_prefs.getUserdataPath(path, sizeof(path)); -strlcat(path, "templates", sizeof(path)); -fl_make_path(path); - -int sample_templates_generated = 0; -fluid_prefs.get("sample_templates_generated", sample_templates_generated, 0); - -if (sample_templates_generated < 2) { - strcpy(filename, path); - strcat(filename, "/FLTK_License.fl"); - FILE *f = fopen(filename, "wb"); - if (f) { - fputs( -"\# data file for the Fltk User Interface Designer (fluid)\\nversion 1.0400\\nheader_name {.h}\\n" -"code_name {.cxx}\\ncomment {//\\n// @INSTANCE@ for the Fast Light Tool Kit (FLT" -"K).\\n//\\n// Copyright 1998-2023 by Bill Spitzak and others.\\n//\\n// This library is free sof" -"tware. Distribution and use rights are outlined in\\n// the file \\"COPYING\\" which should have " -"been included with this file. If this\\n// file is missing or damaged, see the license at:\\n" -"//\\n// https://www.fltk.org/COPYING.php\\n//\\n// Please see the following page on how to report " -"bugs and issues:\\n//\\n// https://www.fltk.org/bugs.php\\n//\\n} {selected in_source in_head" -"er\\n}\\n", f); - fclose(f); - } - - template_install(path, "/FLTK_License.fl", tmpl_FLTK_License_fl, sizeof(tmpl_FLTK_License_fl), tmpl_FLTK_License_fl_size); - template_install(path, "/1of7GUIs.fl", tmpl_1of7GUIs_fl, sizeof(tmpl_1of7GUIs_fl), tmpl_1of7GUIs_fl_size); - sample_templates_generated = 2; - fluid_prefs.set("sample_templates_generated", sample_templates_generated); - fluid_prefs.flush(); -} - -num_files = fl_filename_list(path, &files); - -for (i = 0; i < num_files; i ++) { - if (fl_filename_match(files[i]->d_name, "*.fl")) { - // Format the name as the filename with "_" replaced with " " - // and without the trailing ".fl"... - strlcpy(name, files[i]->d_name, sizeof(name)); - *strstr(name, ".fl") = '\\0'; - - for (ptr = name; *ptr; ptr ++) { - if (*ptr == '_') *ptr = ' '; - } - - // Add the template to the browser... - snprintf(filename, sizeof(filename), "%s/%s", path, files[i]->d_name); - template_browser->add(name, fl_strdup(filename)); - } - - free(files[i]); -} - -if (num_files > 0) free(files);} {} -} |
