On 8 Dec 2007, at 3:31, Daniel Gollas wrote: > I have a big problem with the way menu item labels are handled, and > I think it's been rethought for 2.0. > > Basically, if I want to add a file path to a menu in Windows (which > of course gives me filenames with backward diagonals C:\some\path\to > \a\file.txt), fltk will create a hierarchy of menus, which is > really not what I want. This works well on *nix type file systems, > where the full path to a file starts with /, and fltk will then > ignore the hierarchy and place the name correctly. But what about > Windows and other non / starting paths?, I know I can replace all > the \ for escaped \ (\\) but this could get complicated fast. I > suggest a way to disable the automatic hierarchy creation is > implemented (If there isn't already and I'm just making a fool of > myself)
This is implemented in Fl_Menu_Add.cxx, and I doubt it can be changed now without (potentially) breaking backward compatibility, so I think you may be stuck with it for fltk-1.1.x. Mind you, I suppose you could modify the code so that, in the win32 case, it specifically looks for "X:" (where X is any alpha char) at the start of the string, in the same way it currently checks for "/" as the first char in the string. That should work. If your app is statically linked to fltk, you *could* make your own version of Fl_Menu_Add that does what you want. Or, less invasively but less cosmetically acceptable, just add a #ifdef WIN32 section to your code that pre-pends a leading '/' to your pathnames where they get passed in to make the label... so "C: \some\path" appears as "/C:\some\path" which looks a bit rubbish but at least it should work! _______________________________________________ fltk mailing list [email protected] http://lists.easysw.com/mailman/listinfo/fltk

