> On Wed, 2005-01-12 at 14:10 +1100, msevior@physics.unimelb.edu.au wrote:
>> HI Everyone,
>>
>> I just realized that it is easy to add editting to plugins by have
>> having
>> a single extra method to the pluginManager class.
>>
>> virtual bool           editMe(UT_sint32 uid);
>>
>> Executing this method edits the object. This can be a simple fork/exec
>> with the contents of the description passed to the external program.
>> After
>> a save operation the altered contents are re-rendered on screen via a
>> changeObject(..) call to the PD_Document. This causes the object and
>> surrounding text to be re-rendered.
>
> neato, except for your function names :-P
>
> s/createMe/construct
> s/editMe/edit or s/editMe/modify
>
 Spoilsport :-)
OK current API is.....
class GR_Graphics;
class UT_ByteBuf;
class PD_Document;
class ABI_EXPORT GR_EmbedView
{
public:
  GR_EmbedView(PD_Document * pDoc, PT_AttrPropIndex api );
  virtual ~GR_EmbedView(void);
  PD_Document *               m_pDoc;
  PT_AttrPropIndex            m_iAPI;
  bool                        m_bHasSVGSnapshot;
  bool                        m_bHasPNGSnapshot;
  UT_ByteBuf                  m_SVGBuf;
  UT_ByteBuf                  m_PNGBuf;
}
class ABI_EXPORT GR_Abi_EmbedManager
{
public:
    GR_Abi_EmbedManager(GR_Graphics * pG);
    virtual ~GR_Abi_EmbedManager();
    const char *           getObjectType(void) const;
    GR_Abi_EmbedManager *  create(GR_Graphics * pG);
    virtual void           initialize(void);
    GR_Graphics *          getGraphics(void);
    virtual  void          setGraphics(GR_Graphics * pG);
    virtual UT_sint32      makeEmbedView(PD_Document * pDoc,
PT_AttrPropIndex  api) ;
    virtual void           setColor(UT_sint32 uid, UT_RGBColor c);
    virtual UT_sint32      getWidth(UT_sint32 uid);
    virtual UT_sint32      getAscent(UT_sint32 uid) ;
    virtual UT_sint32      getDescent(UT_sint32 uid) ;
    virtual void           loadEmbedData(UT_sint32 uid);
    virtual void           setDefaultFontSize(UT_sint32 uid, UT_sint32);
    virtual void           render(UT_sint32 uid, UT_sint32 x, UT_sint32 y);
    virtual void           releaseEmbedView(UT_sint32 uid);
    virtual void           initializeEmbedView(UT_sint32 uid);
    virtual void           makeSnapShot(UT_sint32 uid);
    virtual bool           isDefault(void);
    virtual bool           modify(UT_sint32 uid);
private:
    GR_Graphics *               m_pG;
    UT_Vector<GR_EmbedView *>   m_vecSnapshots;
};
I'll look up the netscape plugin API soon.
Cheers
Martin
> ... or something like that ;-)
>
> Rock on,
>   Marc
>
>
Received on Thu Jan 13 04:39:29 2005
This archive was generated by hypermail 2.1.8 : Thu Jan 13 2005 - 04:39:30 CET