John Levon <[EMAIL PROTECTED]> writes:

| On Tue, Jun 11, 2002 at 12:50:15AM +0200, Lars Gullik Bjønnes wrote:
>
>> -    boost::function<void> showPreferences;
>> +    boost::function0<void> showPreferences;
>
| Why are these changes made ? Reduce slowness of template deduction or
| something ?

Yes, does not make much of a difference though.

>> +extern "C" {
>> +
>> +    void gui_ShowAboutlyx(LyXView &, Dialogs &);
>
| I've tried hard, but I'm at a loss to work out why these aren't
| in a namespace instead. It might do something about the butt-ugly
| names too ...

How does extern "C" and namespaces mix?
Remember that this has to be a 'C'-api.

| regards
| john
>
| p.s. how do you square up your desire for lyx --frontend qt whne you
| want more pimpls ?

sorry, but I do not understand this sentence completely.

but! I am not introducing more pimpls, more like the first step is
going towards a dynamically loaded frontend gui.

Imagine:
(pseudo code)

class Dialogs {
      void showSomeDialog() {
           staitc function0<void) sSd = getGUISymbol<void>("showSomeDialog");
           if (!sSd.empty()) {
              sSd();
           } else {
                // error finding symbol
           }
     }
};


template<Type>
function<Type> getGUISymbol(string & funcBaseName) {
               string symbolname = frontendgui + funcBaseName;
               return dl_sym(symbolname.c_str());
}


xforms: liblyxxforms.so
        guiapi.C
        void xformsshowSomeDialog();

qt:     liblyxqt.so
        guiapi.C
        void qtshowSomeDialog();


This is taking several shortcuts... but you should get the idea.
Of course if you have a better solution I want to learn it.

-- 
        Lgb


Reply via email to