HelpDialog.fl, cxx, and h

The fluid file doesn't match its output files.  Both are part of a broken
help system, apparently but its broken for other reasons -- I don't think
the html parser (very cool) is looking for the </HTML> tag, for starters.
        
More on this in a bit.  First...

Sources of sources.

In order for the fluid file to output the .cxx file...

  In HelpDialog.fl at line 172 change
    // callback {find_pos_ = view_->find(find_->value(), find_pos_);}
    callback {find_pos_ = view_->find(find_->text(), find_pos_);}

  In HelpDialog.fl at line 172 change
      //  /*fl_register_images();*/}
      fltk::register_images();
      } // <- the close brace is part of the code

And in order for the fluid file to output the .h file change

In HelpDialog.fl at line 41 change
  // class FL_API HelpDialog {open
  class FL_IMAGES_API HelpDialog {open

Note: FL_IMAGES_API is defined in FL_API.h and has the identical definition
but these changes bring the fluid source into sync with its alleged output.
  :-)

If value() and text() aren't synonyms in this context, they
probably should be, but again, this doesn't seem to be my bug.
    
--------------

filename_*.c* files.

This is great for static libs but for dynamic ones the penalty for loading
them all at once is zero.

  // in filename_absolute.cxx
  FL_API int filename_absolute(char *to, int tolen, const char *from, 
const char* cwd=0);
  FL_API int filename_relative(char *to, int tolen, const char *from, 
const char* cwd=0);
 
  // in filename_name.cxx
  FL_API const char *filename_name(const char *);
  inline char* filename_name(char* a) {return 
(char*)(filename_name((const char*)a));}
  FL_API const char *filename_ext(const char *);
  inline char* filename_ext(char* a) {return (char*)(filename_ext((const 
char*)a));}
 
  // in filename_match.cxx
  FL_API bool filename_match(const char *, const char *pattern); // glob 
match
 
  // in filename_isdir.cxx
  FL_API bool filename_exist(const char*);
  FL_API bool filename_isdir(const char*);
  FL_API FL_FILESIZE_T filename_size(const char *); // return size of file
  FL_API long int filename_mtime(const char *); // return modification time
 
  typedef int (File_Sort_F)(const dirent*const*, const dirent*const*);
 
  // in scandir.c
  FL_API int alphasort(const dirent*const*, const dirent*const*);
 
  // in filename_list.cxx
  FL_API int casealphasort(const dirent*const*, const dirent*const*);
 
  // in numericsort.cxx
  FL_API int casenumericsort(const dirent*const*, const dirent*const*);
  FL_API int numericsort(const dirent*const*, const dirent*const*);
  FL_API int filename_list(const char *d, dirent ***list); // uses 
numericsort
 
  // in filename_list.cxx
  FL_API int filename_list(const char *d, dirent ***list, File_Sort_F 
*sort);
 
Alphashort and casealphasort aren't even in the same cxx file.

Let me go check the sizes of the object files (stripped) just
for reference and I'll include the results here for in case
you're interested.

  File: `scandir.o'
  Size: 440
 
  File: `filename_name.o'
  Size: 524

  File: `filename_match.o'
  Size: 1904

  File: `filename_list.o'
  Size: 1112

  File: `filename_isdir.o'
  Size: 1760

  File: `filename_ext.o'
  Size: 544

  File: `filename_absolute.o'
  Size: 2396

[Uninitialized data which is allocated at link-time won't
be included in the file size.]

I am dynamic linked (at this time) but I may in fact static
link certain apps later. I'm just thinking about this.

These are great little utilities, by the way.  Thanks!

-----------

Ready?  What's wrong with HelpView...

The reason the HelpView doesn't work MAY be because it isn't able to
ignore ignore unknown HTML keywords.  It should probably count opens
and closes and issue errors if they aren't balanced.

Here's why I think so.  If you can, test this.

Change the link in the docs index.html from "html/index.html" to
"preface.html".  This will avoid the Doxygen generated docs.

Dunno about you, but for starters I copied my documentation folder to
~/usr32/share/doc/fltk for this test so that the link matched my
customized FLTK_DOCDIR etc.  Whatever.

Then fire up fluid and look at the help->manual.

Guess what.  No prob.

So the issue is in parsing the Doxygen stuff.  No wonder nobody
debugged that thing!!  That's as far as I have gotten on this so
far myself.  Beautiful parser, by the way.  :-)


_______________________________________________
fltk-bugs mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-bugs

Reply via email to