X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fm%2Fplot%2Fprivate%2F__fltk_file_filter__.m;fp=octave_packages%2Fm%2Fplot%2Fprivate%2F__fltk_file_filter__.m;h=586853b45e4f7df48f8e426f7c199cf0e94c4a7d;hp=0000000000000000000000000000000000000000;hb=1c0469ada9531828709108a4882a751d2816994a;hpb=63de9f36673d49121015e3695f2c336ea92bc278 diff --git a/octave_packages/m/plot/private/__fltk_file_filter__.m b/octave_packages/m/plot/private/__fltk_file_filter__.m new file mode 100644 index 0000000..586853b --- /dev/null +++ b/octave_packages/m/plot/private/__fltk_file_filter__.m @@ -0,0 +1,64 @@ +## Copyright (C) 2012 Michael Goffioul +## +## This file is part of Octave. +## +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or (at +## your option) any later version. +## +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, see +## . + +## -*- texinfo -*- +## @deftypefn {Function File} {@var{filterspec} =} __fltk_file_filter__ (@var{filter}) +## Undocumented internal function. +## @end deftypefn + +## Author: Michael Goffioul + +function retval = __fltk_file_filter__ (file_filter) + + retval = ""; + [r, c] = size (file_filter); + if ((c == 0) || (c > 2)) + error ("expecting 1 or to 2 columns for file filter cell"); + endif + fltk_str = ""; + for idx = 1 : r + + curr_ext = file_filter{idx, 1}; + curr_ext = strsplit (curr_ext, ";"); + + if (length (curr_ext) > 1) + curr_ext = regexprep (curr_ext, '\*\.', ','); + curr_ext = strcat (curr_ext{:})(2 : end); + curr_ext = strcat ("*.{", curr_ext, "}"); + else + curr_ext = curr_ext{:}; + endif + + curr_desc = strcat (curr_ext(3:end), "-Files"); + + if (c == 2) + curr_desc = file_filter{idx, 2}; + curr_desc = regexprep (curr_desc, '\(', '<'); + curr_desc = regexprep (curr_desc, '\)', '>'); + endif + + if (length (fltk_str) > 0) + fltk_str = strcat (fltk_str, "\t", curr_desc, " (", curr_ext, ")"); + else + fltk_str = strcat (curr_desc, " (", curr_ext, ")"); + endif + + endfor + retval = fltk_str; + +endfunction