From 725f68b6808a8a30778f58223fac75386f082785 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Fri, 18 May 2012 22:10:43 +0000 Subject: plugins folders renaming git-svn-id: http://svn.miranda-ng.org/main/trunk@61 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- .../ExtFrames/modern_ext_frames_services.c | 386 +++++++++++++++++++++ 1 file changed, 386 insertions(+) create mode 100644 plugins/Modernb/_disabled_src/ExtFrames/modern_ext_frames_services.c (limited to 'plugins/Modernb/_disabled_src/ExtFrames/modern_ext_frames_services.c') diff --git a/plugins/Modernb/_disabled_src/ExtFrames/modern_ext_frames_services.c b/plugins/Modernb/_disabled_src/ExtFrames/modern_ext_frames_services.c new file mode 100644 index 0000000000..e56be79255 --- /dev/null +++ b/plugins/Modernb/_disabled_src/ExtFrames/modern_ext_frames_services.c @@ -0,0 +1,386 @@ +/**************************************************************************\ + +Miranda IM: the free IM client for Microsoft* Windows* + +Copyright 2000-2008 Miranda ICQ/IM project, +all portions of this code base are copyrighted to Artem Shpynov and/or +the people listed in contributors.txt. + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +**************************************************************************** + +Created: Mar 19, 2007 + +Author and Copyright: Artem Shpynov aka FYR: ashpynov@gmail.com + +**************************************************************************** + +File contains realization of service procedures +for modern_ext_frames.c module. + +This file have to be excluded from compilation and need to be adde to project via +#include preprocessor derective in modern_ext_frames.c + +\**************************************************************************/ + +#include "..\commonheaders.h" //only for precompiled headers + +#ifdef __modern_ext_frames_c__include_c_file //protection from adding to compilation + +static void _ExtFrames_InitServices() +{ + //Create services here + /* + CreateServiceFunction( MS_CLIST_FRAMES_ADDFRAME, _ExtFramesSrv_AddFrame ); + CreateServiceFunction( MS_CLIST_FRAMES_REMOVEFRAME, _ExtFramesSrv_RemoveFrame ); + CreateServiceFunction( MS_CLIST_FRAMES_SHOWALLFRAMES, _ExtFramesSrv_ShowAllFrames ); + CreateServiceFunction( MS_CLIST_FRAMES_SHOWALLFRAMESTB, _ExtFramesSrv_ShowAllFramesTB ); + CreateServiceFunction( MS_CLIST_FRAMES_HIDEALLFRAMESTB, _ExtFramesSrv_HideAllFramesTB ); + CreateServiceFunction( MS_CLIST_FRAMES_SHFRAME, _ExtFramesSrv_SHFrame ); + CreateServiceFunction( MS_CLIST_FRAMES_SHFRAMETITLEBAR, _ExtFramesSrv_SHFrameTitleBar ); + CreateServiceFunction( MS_CLIST_FRAMES_ULFRAME, _ExtFramesSrv_ULFrame ); + CreateServiceFunction( MS_CLIST_FRAMES_UCOLLFRAME, _ExtFramesSrv_UCollFrame ); + CreateServiceFunction( MS_CLIST_FRAMES_SETUNBORDER, _ExtFramesSrv_SetUnBorder ); + CreateServiceFunction( MS_CLIST_FRAMES_UPDATEFRAME, _ExtFramesSrv_UpdateFrame ); + CreateServiceFunction( MS_CLIST_FRAMES_GETFRAMEOPTIONS, _ExtFramesSrv_GetFrameOptions ); + CreateServiceFunction( MS_CLIST_FRAMES_SETFRAMEOPTIONS, _ExtFramesSrv_SetFrameOptions ); + + //TODO Frame menu stuff services + + //register event hook here + ExtFrames.hookSBShowTooltip = CreateHookableEvent( ME_CLIST_FRAMES_SB_SHOW_TOOLTIP ); + ExtFrames.hookSBHideTooltip = CreateHookableEvent( ME_CLIST_FRAMES_SB_HIDE_TOOLTIP ); + ExtFrames.hookPrebuildFrameMenu = CreateHookableEvent( ME_CLIST_PREBUILDFRAMEMENU ); + */ + + //Hook other events + HookEvent(ME_OPT_INITIALISE,_ExtFrames_OptionsDlgInit); +} + +static void _ExtFrames_UninitServices() +{ + if (ExtFrames.hookSBShowTooltip) UnhookEvent( ExtFrames.hookSBShowTooltip ); + if (ExtFrames.hookSBHideTooltip) UnhookEvent( ExtFrames.hookSBHideTooltip ); + if (ExtFrames.hookPrebuildFrameMenu) UnhookEvent( ExtFrames.hookPrebuildFrameMenu ); + + ExtFrames.hookSBShowTooltip = NULL; + ExtFrames.hookSBHideTooltip = NULL; + ExtFrames.hookPrebuildFrameMenu = NULL; +} + +////////////////////////////////////////////////////////////////////////// +//want show tooltip for statusbar +//wparam=(char *)protocolname +//lparam=0 +//#define ME_CLIST_FRAMES_SB_SHOW_TOOLTIP "CListFrames/StatusBarShowToolTip" + +////////////////////////////////////////////////////////////////////////// +//want hide tooltip for statusbar +//wparam=lparam=0 +//#define ME_CLIST_FRAMES_SB_HIDE_TOOLTIP "CListFrames/StatusBarHideToolTip" + +////////////////////////////////////////////////////////////////////////// +//adds a frame window +//wParam=(CLISTFrame*) +//lParam=0 +//returns an integer, the frame id. +//#define MS_CLIST_FRAMES_ADDFRAME "CListFrames/AddFrame" +/**static*/ int _ExtFramesSrv_AddFrame(WPARAM wParam, LPARAM lParam) +{ + CLISTFrame *clfrm=(CLISTFrame *)wParam; + int frameId = -1; + + // the clfrm->name is used as id in DB and frames without it will not be supported + if ( !clfrm || pcli->hwndContactList == NULL || clfrm->cbSize!=sizeof(CLISTFrame) || clfrm->name==NULL) + return frameId; + + efcheck frameId; + eflock; + { + EXTFRAMEWND * pExtFrm=(EXTFRAMEWND *)mir_alloc(sizeof(EXTFRAMEWND)); + memset(pExtFrm,0,sizeof(EXTFRAMEWND)); + pExtFrm->dwFrameID = ExtFrames.dwNextFrameID++; + pExtFrm->hwndFrame = clfrm->hWnd; + pExtFrm->efrm.szFrameNameID = mir_strdup(clfrm->name); + + //fill frame info by caller provided values + pExtFrm->efrm.dwFlags = clfrm->Flags; + // frame alignment + pExtFrm->efrm.nEdge = clfrm->align; + pExtFrm->efrm.nType = (clfrm->align&alVertFrameMask) ? EFT_VERTICAL : EFT_HORIZONTAL; + + if (pExtFrm->efrm.nType == EFT_VERTICAL) + pExtFrm->efrm.minCX = clfrm->minSize; + else + pExtFrm->efrm.minCY = clfrm->minSize; + + _ExtFrames_GetFrameDBOption(pExtFrm); + _ExtFramesUtils_CheckAlighment(pExtFrm); + li.List_Insert(ExtFrames.List, pExtFrm, 0); + //clfrm->hIcon + //clfrm->TBname + + frameId=pExtFrm->dwFrameID; + } + efunlock; + return frameId; //frame id +} +////////////////////////////////////////////////////////////////////////// +// remove frame. It does not destroy your window +// +//#define MS_CLIST_FRAMES_REMOVEFRAME "CListFrames/RemoveFrame" +static int _ExtFramesSrv_RemoveFrame(WPARAM wParam, LPARAM lParam) +{ + efcheck 0; + eflock; + { + // DO HERE + } + efunlock; + return 0; +} +////////////////////////////////////////////////////////////////////////// +//shows all frames +//wParam=lParam=0 +//returns 0 on success, -1 on failure +//#define MS_CLIST_FRAMES_SHOWALLFRAMES "CListFrames/ShowALLFrames" +static int _ExtFramesSrv_ShowAllFrames(WPARAM wParam, LPARAM lParam) +{ + efcheck -1; + eflock; + { + // DO HERE + } + efunlock; + return 0; +} +////////////////////////////////////////////////////////////////////////// +//shows the titlebars of all frames +//wParam=lParam=0 +//returns 0 on success, -1 on failure +//#define MS_CLIST_FRAMES_SHOWALLFRAMESTB "CListFrames/ShowALLFramesTB" +static int _ExtFramesSrv_ShowAllFramesTB(WPARAM wParam, LPARAM lParam) +{ + efcheck -1; + eflock; + { + // DO HERE + } + efunlock; + return 0; +} + +////////////////////////////////////////////////////////////////////////// +//hides the titlebars of all frames +//wParam=lParam=0 +//returns 0 on success, -1 on failure +//#define MS_CLIST_FRAMES_HIDEALLFRAMESTB "CListFrames/HideALLFramesTB" +static int _ExtFramesSrv_HideAllFramesTB(WPARAM wParam, LPARAM lParam) +{ + efcheck -1; + eflock; + { + // DO HERE + } + efunlock; + return 0; +} +////////////////////////////////////////////////////////////////////////// +//shows the frame if it is hidden, +//hides the frame if it is shown +//wParam=FrameId +//lParam=0 +//returns 0 on success, -1 on failure +//#define MS_CLIST_FRAMES_SHFRAME "CListFrames/SHFrame" +static int _ExtFramesSrv_SHFrame(WPARAM wParam, LPARAM lParam) +{ + efcheck -1; + eflock; + { + // DO HERE + } + efunlock; + return 0; +} +////////////////////////////////////////////////////////////////////////// +//shows the frame titlebar if it is hidden, +//hides the frame titlebar if it is shown +//wParam=FrameId +//lParam=0 +//returns 0 on success, -1 on failure +//#define MS_CLIST_FRAMES_SHFRAMETITLEBAR "CListFrame/SHFrameTitleBar" +static int _ExtFramesSrv_SHFrameTitleBar(WPARAM wParam, LPARAM lParam) +{ + efcheck -1; + eflock; + { + // DO HERE + } + efunlock; + return 0; +} + +////////////////////////////////////////////////////////////////////////// +//locks the frame if it is unlocked, +//unlock the frame if it is locked +//wParam=FrameId +//lParam=0 +//returns 0 on success, -1 on failure +//#define MS_CLIST_FRAMES_ULFRAME "CListFrame/ULFrame" +static int _ExtFramesSrv_ULFrame(WPARAM wParam, LPARAM lParam) +{ + efcheck -1; + eflock; + { + // DO HERE + } + efunlock; + return 0; +} +////////////////////////////////////////////////////////////////////////// +//collapses the frame if it is uncollapsed, +//uncollapses the frame if it is collapsed +//wParam=FrameId +//lParam=0 +//returns 0 on success, -1 on failure +//#define MS_CLIST_FRAMES_UCOLLFRAME "CListFrame/UCOLLFrame" +static int _ExtFramesSrv_UCollFrame(WPARAM wParam, LPARAM lParam) +{ + efcheck -1; + eflock; + { + // DO HERE + } + efunlock; + return 0; +} +////////////////////////////////////////////////////////////////////////// +//trigger border flags +//wparam=frameid +//lparam=0 +//#define MS_CLIST_FRAMES_SETUNBORDER "CListFrame/SetUnBorder" +static int _ExtFramesSrv_SetUnBorder(WPARAM wParam, LPARAM lParam) +{ + efcheck -1; + eflock; + { + // DO HERE + } + efunlock; + return 0; +} + +////////////////////////////////////////////////////////////////////////// +//redraws the frame +//wParam=FrameId, -1 for all frames +//lparam=FU_flags +//returns a pointer to option, -1 on failure +//#define MS_CLIST_FRAMES_UPDATEFRAME "CListFrame/UpdateFrame" +static int _ExtFramesSrv_UpdateFrame(WPARAM wParam, LPARAM lParam) +{ + int ret=-1; + efcheck ret; + eflock; + { + // DO HERE + } + efunlock; + return ret; +} +////////////////////////////////////////////////////////////////////////// +//gets the frame options +//(HIWORD)wParam=FrameId +//(LOWORD)wParam=FO_flag +//lParam=0 +//returns a pointer to option, -1 on failure +//#define MS_CLIST_FRAMES_GETFRAMEOPTIONS "CListFrame/GetFrameOptions" +static int _ExtFramesSrv_GetFrameOptions(WPARAM wParam, LPARAM lParam) +{ + int ret=-1; + efcheck ret; + eflock; + { + // DO HERE + } + efunlock; + return ret; +} +//sets the frame options +//(HIWORLD)wParam=FrameId +//(LOWORD)wParam=FO_flag +//lParam=value +//returns 0 on success, -1 on failure +//#define MS_CLIST_FRAMES_SETFRAMEOPTIONS "CListFrame/SetFrameOptions" +static int _ExtFramesSrv_SetFrameOptions(WPARAM wParam, LPARAM lParam) +{ + int ret=-1; + efcheck ret; + eflock; + { + // DO HERE + } + efunlock; + return ret; +} +////////////////////////////////////////////////////////////////////////// +//Frames related menu stuff +////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////// +//add a new item to the context frame menu +//wParam=0 +//lParam=(LPARAM)(CLISTMENUITEM*)&mi +//returns a handle to the new item +//popupposition=frameid +//contactowner=advanced parameter +//#define MS_CLIST_ADDCONTEXTFRAMEMENUITEM "CList/AddContextFrameMenuItem" + +////////////////////////////////////////////////////////////////////////// +//remove a item from context frame menu +//wParam=hMenuItem returned by MS_CLIST_ADDCONTACTMENUITEM +//lParam=0 +//returns 0 on success, nonzero on failure +//#define MS_CLIST_REMOVECONTEXTFRAMEMENUITEM "CList/RemoveContextFrameMenuItem" + +////////////////////////////////////////////////////////////////////////// +//builds the context menu for a frame +//wparam=frameid +//lParam=0 +//returns a HMENU on success, or NULL on failure +//#define MS_CLIST_MENUBUILDFRAMECONTEXT "CList/BuildContextFrameMenu" + +////////////////////////////////////////////////////////////////////////// +// the frame menu is about to be built +// wparam=frameid +// lparam= +// -1 for build from titlebar, +// use +// MS_CLIST_ADDCONTEXTFRAMEMENUITEM +// MS_CLIST_REMOVECONTEXTFRAMEMENUITEM +// +// >0 for build in main menu, +// must be popupname=lparam to place your items in right popup of main menu. +// use +// MS_CLIST_ADDMAINMENUITEM +// MS_CLIST_REMOVEMAINMENUITEM +// +//#define ME_CLIST_PREBUILDFRAMEMENU "CList/PreBuildFrameMenu" + +////////////////////////////////////////////////////////////////////////// +//needed by cluiframes module to add frames menu to main menu. +//it just calls NotifyEventHooks(hPreBuildFrameMenuEvent,wParam,lParam); +//#define MS_CLIST_FRAMEMENUNOTIFY "CList/ContextFrameMenuNotify" +#endif \ No newline at end of file -- cgit v1.2.3