StarPhP plugins:

1. Create a dll project
2. Include PHPStudio.h
3. Inherit your plugin from "CPlugin" (defined inside PHPStudio.h)
4. Override all pure virtual functions
5. You can subclass every new view when created (OnCreateView, OnLoadView).
6. Export a factory for your plugin, called "StarPhP_Plugin" (defined inside PHPStudio.h)
7. When factory is called, save the application pointer, and create the plugin
8. Compile the plugin, and put the dll in a folder called "Plugins". Extension should remain "dll".

Events:
	Views are Scintilla based (header files are included), so you can handle all related messaged (SCN_CHARADDED for example) and send messages to the window (SCI_ADDTEXT for example),
	IMPORTANT NOTE: When handling events, you should call the original handler as well, so other plugins can handle the event too.

Example:

class CMyPlugin : public CPlugin
{
public:
	CMyPlugin(CApplication* pApplication) : m_pApplication(pApplication) {}

	virtual LPCTSTR   GetTitle() const {return _T("My Plugin");}

	virtual void OnCreateView(HWND hWnd) {}
	virtual void OnLoadView(LPCTSTR szFilename,HWND hWnd) {}
	virtual void OnSaveView(HWND hWnd,LPCTSTR szFilename) {}
	virtual void OnCloseView(HWND hWnd) {}

	virtual void OnLoadProject(LPCTSTR szFilename) {}

	virtual int GetConfigCount() const {return 0;}
	virtual LPCPROPSHEETPAGE GetConfigPage(int nIndex) const {return NULL;}

protected:
	CApplication* m_pApplication;
};

extern "C" void __declspec(dllexport) StarPhP_Plugin(CApplication* pApplication,CPlugin** ppPlugin)
{
	*ppPlugin=new CMyPlugin(pApplication);
}


* SDK is not final yet, so please contact me for additional details.

For any problem, please contact me directly (MSN or email: gilad_no@yahoo.com)