home *** CD-ROM | disk | FTP | other *** search
- /***************************************************************************\
-
- (c) 1995-1996, ProtoView Development Co., All rights reserved
- \***************************************************************************/
-
- /*
- * These functions interface C and C++ programs with the IDO.
- * This removes the need for using a message-based architecture,
- * hiding many of the details from the programmer, and allowing
- * the IDO to expose the same interfaces for the DLL and OCX programmer.
- *
- * Copyright (c) 1995-1996 ProtoView Development Corp.
- */
-
- #include <windows.h>
- #include <stdlib.h>
- #include <memory.h>
-
- #include "..\h\pvido.h"
-
-
- #define IDO_I SendMessage
- #define MAX_TEMP_LEN 200+1
-
- static LPSTR lpszText = NULL;
- static IDO_FONT idoFont;
-
- void idoShutDown()
- {
- if(lpszText)
- free(lpszText);
- }
-
-
- ///////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////
- // PROPERTIES
- ///////////////////////////////////////////////////////////////////////
-
- int WINAPI idoGetGridHeight(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (int)IDO_I(hIDO, IDOM_GETGRIDHEIGHT, 0, 0L);
- }
- void WINAPI idoSetGridHeight(HWND hIDO, int cHeight)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_SETGRIDHEIGHT, cHeight, 0L);
- }
- int WINAPI idoGetGridWidth(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (int)IDO_I(hIDO, IDOM_GETGRIDWIDTH, 0, 0L);
- }
- void WINAPI idoSetGridWidth(HWND hIDO, int cWidth)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_SETGRIDWIDTH, cWidth, 0L);
- }
-
-
- COLORREF WINAPI idoGetGridLineColor(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (COLORREF)IDO_I(hIDO, IDOM_GETGRIDCOLOR, 0, 0L);
- }
- void WINAPI idoSetGridLineColor(HWND hIDO, COLORREF cColor)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_SETGRIDCOLOR, 0, (LRESULT)cColor);
- }
- COLORREF WINAPI idoGetBackColor(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (COLORREF)IDO_I(hIDO, IDOM_GETIDOBKCOLOR, 0, 0L);
- }
- void WINAPI idoSetBackColor(HWND hIDO, COLORREF cColor)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_SETIDOBKCOLOR, 0, (LRESULT)cColor);
- }
-
-
- BOOL WINAPI idoGetGridLines(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_ISGRIDVISIBLE, 0, 0L);
- }
- void WINAPI idoSetGridLines(HWND hIDO, BOOL bEnable)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_SETGRIDLINES, bEnable, 0L);
- }
-
-
- BOOL WINAPI idoGetSnapToGrid(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_ISSNAPTOGRID, 0, 0L);
- }
- void WINAPI idoSetSnapToGrid(HWND hIDO, BOOL bEnable)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_SETSNAPTOGRID, bEnable, 0L);
- }
-
-
- BOOL WINAPI idoGetPrinterLines(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_GETSHOWPRINTPAGES, 0, 0L);
- }
- void WINAPI idoSetPrinterLines(HWND hIDO, BOOL bEnable)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_SETSHOWPRINTPAGES, bEnable, 0L);
- }
-
-
- BOOL WINAPI idoGetPrinterLandscape(HWND hIDO)
- {
- long lStyle;
-
- if(!IsWindow(hIDO))
- return -1;
-
-
- IDO_I(hIDO, IDOM_GETINTERACTPROPERTY, PROP_IPRINTLANDSCAPE, (LPARAM)(LPVOID)&lStyle);
- return (BOOL)lStyle;
- }
- void WINAPI idoSetPrinterLandscape(HWND hIDO, BOOL bEnable)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_SETINTERACTPROPERTY, PROP_IPRINTLANDSCAPE, bEnable);
- }
-
-
- BOOL WINAPI idoSetToolsPaletteButtonText(HWND hIDO, LPCSTR lpText)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!lpText)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_SETTOOLSPALETTEBUTTONTEXT, 0, (LPARAM)(LPCSTR)lpText);
- }
-
- BOOL WINAPI idoGetToolsPalette(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_ISPALETTEVISIBLE, 0, 0L);
- }
- void WINAPI idoSetToolsPalette(HWND hIDO, BOOL bEnable)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_SETPALETTEVISIBLE, bEnable, 0L);
- }
-
-
- BOOL WINAPI idoGetEditMode(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_GETEDITMODE, 0, 0L);
- }
- void WINAPI idoSetEditMode(HWND hIDO, BOOL bEnable)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_SETEDITMODE, bEnable, 0L);
- }
-
-
- BOOL WINAPI idoGetRulesEnforced(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_ARERULESENFORCED, 0, 0L);
- }
- void WINAPI idoSetRulesEnforced(HWND hIDO, BOOL bEnable)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_SETENFORCERULES, bEnable, 0L);
- }
-
-
- BOOL WINAPI idoGetCurrentEntity(HWND hIDO, LPENTITY lpEnt)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!lpEnt)
- return FALSE;
-
- if(IDOR_SUCCESS == IDO_I(hIDO, IDOM_GETCURRENTENTITY, 0, (LPARAM)(LPVOID)lpEnt))
- return TRUE;
-
- return FALSE;
- }
- BOOL WINAPI idoSetCurrentEntity(HWND hIDO, LPENTITY lpEnt)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!lpEnt)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_SETCURRENTENTITY, 0, (LPARAM)(LPVOID)lpEnt);
- }
-
-
- BOOL WINAPI idoGetCurrentRelation(HWND hIDO, LPRELATION lpRel)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!lpRel)
- return FALSE;
-
- if(IDOR_SUCCESS == IDO_I(hIDO, IDOM_GETCURRENTLINE, 0, (LPARAM)(LPVOID)lpRel))
- return TRUE;
-
- return FALSE;
- }
- BOOL WINAPI idoSetCurrentRelation(HWND hIDO, LPRELATION lpRel)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!lpRel)
- return FALSE;
-
- if(IDOR_SUCCESS == IDO_I(hIDO, IDOM_SETCURRENTLINE, 0, (LPARAM)(LPVOID)lpRel))
- return TRUE;
-
- return FALSE;
- }
-
-
-
- void WINAPI idoSetWindowStyle(HWND hIDO, long lStyle)
- {
- if(!IsWindow(hIDO))
- return;
-
- SetWindowLong(hIDO, GWL_STYLE, lStyle);
- InvalidateRect(hIDO, NULL, TRUE);
- UpdateWindow(hIDO);
- }
- long WINAPI idoGetWindowStyle(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return 0L;
-
- return GetWindowLong(hIDO, GWL_STYLE);
- }
-
-
- void WINAPI idoSetModified(HWND hIDO, BOOL bVal)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_SETMODIFIED, bVal, 0L);
- }
- BOOL WINAPI idoGetModified(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return -1;
-
- return(BOOL)IDO_I(hIDO, IDOM_GETMODIFIED, 0, 0L);
- }
-
-
- void WINAPI idoSetBorder(HWND hIDO, BOOL bVal)
- {
- long lStyle;
-
- if(!IsWindow(hIDO))
- return;
-
- lStyle = idoGetWindowStyle(hIDO);
- if(bVal)
- lStyle |= WS_BORDER;
- else
- lStyle &= !WS_BORDER;
-
- idoSetWindowStyle(hIDO, lStyle);
- }
- BOOL WINAPI idoGetBorder(HWND hIDO)
- {
- long lStyle;
-
- if(!IsWindow(hIDO))
- return FALSE;
-
- lStyle = idoGetWindowStyle(hIDO);
- return (BOOL)(lStyle & WS_BORDER);
- }
-
- void WINAPI idoSetScrollBars(HWND hIDO, long lVal)
- {
- long lStyle;
-
- if(!IsWindow(hIDO))
- return;
-
- lStyle = idoGetWindowStyle(hIDO);
- switch(lVal)
- {
- case IDO_NONE :
- lStyle &= !WS_HSCROLL;
- lStyle &= !WS_VSCROLL;
- break;
- case IDO_HSCROLL :
- lStyle &= !WS_VSCROLL;
- lStyle |= WS_HSCROLL;
- break;
- case IDO_VSCROLL :
- lStyle &= !WS_HSCROLL;
- lStyle |= WS_VSCROLL;
- break;
- case IDO_BOTH :
- lStyle |= WS_HSCROLL;
- lStyle |= WS_VSCROLL;
- break;
- }
- idoSetWindowStyle(hIDO, lStyle);
- }
- long WINAPI idoGetScrollBars(HWND hIDO)
- {
- long lStyle;
-
- if(!IsWindow(hIDO))
- return (long)-1;
-
- lStyle = idoGetWindowStyle(hIDO);
- if(lStyle & WS_HSCROLL && lStyle & WS_VSCROLL)
- return (long)IDO_BOTH;
- if(lStyle & WS_HSCROLL)
- return (long)IDO_HSCROLL;
- if(lStyle & WS_VSCROLL)
- return (long)IDO_VSCROLL;
-
- return (long)IDO_NONE;
- }
-
-
- BOOL WINAPI idoGetRedraw(HWND hIDO)
- {
- return TRUE;
- }
- void WINAPI idoSetRedraw(HWND hIDO, BOOL bVal)
- {
- if(!IsWindow(hIDO))
- return;
-
- SendMessage(hIDO, WM_SETREDRAW, bVal, 0L);
- InvalidateRect(hIDO, NULL, TRUE);
- UpdateWindow(hIDO);
- }
-
- ///////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////
- // METHODS
- ///////////////////////////////////////////////////////////////////////
-
- void WINAPI idoCancelAction(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return;
-
- SendMessage(hIDO, IDOM_NOTIFYRESULT, 0, 1); // 1 always means cancel
- }
- void WINAPI idoAllowAction(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return;
-
- SendMessage(hIDO, IDOM_NOTIFYRESULT, 0, 2); // 2 always means allow action
- }
-
-
- BOOL WINAPI idoDragAddEntity(HWND hIDO, LPCSTR lpClassName)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_DRAGADDENTITY, 0, (LPARAM)(LPSTR)lpClassName);
- }
-
- BOOL WINAPI idoAddEntityClass(HWND hIDO, LPSTR szClassName, LPSTR szBitmapName, LPENTITY lpEnt)
- {
- IDO_NEWCLASS newclass;
-
-
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szClassName)
- return FALSE;
- if(!szBitmapName)
- return FALSE;
-
- lstrcpy(newclass.szClassName, szClassName);
- lstrcpy(newclass.szBitmapName, szBitmapName);
-
- if(IDOR_SUCCESS == IDO_I(hIDO, IDOM_ADDENTITYCLASS, 0, (LPARAM)(LPVOID)&newclass))
- {
- // if we successfully create a class, return an ENTITY structure to it.
- if(lpEnt)
- idoGetEntityClass(hIDO, szClassName, lpEnt);
- return TRUE;
- }
-
- return FALSE;
- }
- BOOL WINAPI idoDeleteEntityClass(HWND hIDO, LPSTR szClassName)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szClassName)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_DELETEENTITYCLASS, 0, (LPARAM)(LPVOID)szClassName);
- }
- BOOL WINAPI idoDoesEntityClassExist(HWND hIDO, LPSTR szClassName)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szClassName)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_DOESENTITYCLASSEXIST, 0, (LPARAM)(LPVOID)szClassName);
- }
- BOOL WINAPI idoRedefineFromEntityClass(HWND hIDO, LPSTR szClassName)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szClassName)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_REDEFINEFROMENTITYCLASS, 0, (LPARAM)(LPVOID)szClassName);
- }
-
- BOOL WINAPI idoAddEntityFromClass(HWND hIDO, long lID, LPSTR szName,
- LPSTR szClass, LPSTR szText,
- int cX, int cY, int cWidth, int cHeight)
- {
- ENTITY_CLASS_STRUCT eClass;
-
-
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szClass)
- return FALSE;
-
- eClass.id = lID;
- if(szName)
- lstrcpy((LPSTR)eClass.name, (LPSTR)szName);
- lstrcpy((LPSTR)eClass.classname, (LPSTR)szClass);
- if(szText)
- lstrcpy((LPSTR)eClass.text, (LPSTR)szText);
- SetRect(&eClass.rect, cX, cY, cX+cWidth, cY+cHeight);
-
- return (BOOL)IDO_I(hIDO, IDOM_ADDENTITYFROMCLASS, 0, (LPARAM)(LPVOID)&eClass);
- }
- BOOL WINAPI idoDeleteEntity(HWND hIDO, LPENTITY lpEnt)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- if(!lpEnt)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_DELETEENTITY, 0, (LPARAM)(LPVOID)lpEnt);
- }
- BOOL WINAPI idoEntityDelete(LPENTITY lpEnt)
- {
- if(!lpEnt)
- return FALSE;
-
- return (BOOL)IDO_I(lpEnt->hIDO, IDOM_DELETEENTITY, 0, (LPARAM)(LPVOID)lpEnt);
- }
- BOOL WINAPI idoDoesEntityExist(HWND hIDO, long lID, LPCSTR lpszName)
- {
- ENTITY entity;
-
-
- if(!IsWindow(hIDO))
- return FALSE;
-
- entity.id = lID;
- if(lpszName)
- lstrcpy(entity.name, lpszName);
- return (BOOL)IDO_I(hIDO, IDOM_DOESENTITYEXIST, 0, (LPARAM)(LPVOID)&entity);
- }
- long WINAPI idoGetNumberOfSelectedEntities(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return IDO_I(hIDO, IDOM_GETSELENTITYCOUNT, 0, 0L);
- }
- long WINAPI idoGetNumberOfEntities(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return IDO_I(hIDO, IDOM_GETNUMENTITIES, 0, 0L);
- }
- long WINAPI idoGetNumberOfRelations(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return IDO_I(hIDO, IDOM_GETNUMLINES, 0, 0L);
- }
-
- BOOL WINAPI idoDragAddRelation(HWND hIDO, LPCSTR lpClassName)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!lpClassName)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_DRAGADDRELATION, 0, (LPARAM)(LPSTR)lpClassName);
- }
-
- BOOL WINAPI idoAddRelationClass(HWND hIDO, LPSTR szClassName, LPSTR szBitmapName, LPRELATION lpRel)
- {
- IDO_NEWCLASS newclass;
-
-
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szClassName)
- return FALSE;
- if(!szBitmapName)
- return FALSE;
-
- lstrcpy(newclass.szClassName, szClassName);
- lstrcpy(newclass.szBitmapName, szBitmapName);
-
- if(IDOR_SUCCESS == IDO_I(hIDO, IDOM_ADDRELATIONCLASS, 0, (LPARAM)(LPVOID)&newclass))
- {
- // if we successfully create a class, return an ENTITY structure to it.
- if(lpRel)
- idoGetRelationClass(hIDO, szClassName, lpRel);
- return TRUE;
- }
-
- return FALSE;
- }
- BOOL WINAPI idoDeleteRelationClass(HWND hIDO, LPSTR szClassName)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szClassName)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_DELETERELATIONCLASS, 0, (LPARAM)(LPVOID)szClassName);
- }
- BOOL WINAPI idoDoesRelationClassExist(HWND hIDO, LPSTR szClassName)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szClassName)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_DOESRELATIONCLASSEXIST, 0, (LPARAM)(LPVOID)szClassName);
- }
- BOOL WINAPI idoRedefineFromRelationClass(HWND hIDO, LPSTR szClassName)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szClassName)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_REDEFINEFROMRELATIONCLASS, 0, (LPARAM)(LPVOID)szClassName);
- }
-
- BOOL WINAPI idoAddRelationFromClass(HWND hIDO, long lID, LPSTR szName,
- LPSTR szClass, LPSTR szText,
- long Src_ID, LPSTR Src_Name, long Dst_ID, LPSTR Dst_Name)
- {
- LINE_CLASS_STRUCT lClass;
-
-
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szClass)
- return FALSE;
-
- lClass.id = lID;
- if(szName)
- lstrcpy((LPSTR)lClass.name, (LPSTR)szName);
- lstrcpy((LPSTR)lClass.classname, (LPSTR)szClass);
- if(szText)
- lstrcpy((LPSTR)lClass.text, (LPSTR)szText);
- lClass.Src_id = Src_ID;
- if(Src_Name)
- lstrcpy((LPSTR)lClass.Src_name, (LPSTR)Src_Name);
- lClass.Dst_id = Dst_ID;
- if(Dst_Name)
- lstrcpy((LPSTR)lClass.Dst_name, (LPSTR)Dst_Name);
-
- return (BOOL)IDO_I(hIDO, IDOM_ADDRELATIONFROMCLASS, 0, (LPARAM)(LPVOID)&lClass);
- }
- BOOL WINAPI idoDeleteRelation(HWND hIDO, LPRELATION lpRel)
- {
- if(!lpRel)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_DELETERELATION, 0, (LPARAM)(LPVOID)lpRel);
- }
- BOOL WINAPI idoRelationDelete(LPRELATION lpRel)
- {
- if(!lpRel)
- return FALSE;
-
- return (BOOL)IDO_I(lpRel->hIDO, IDOM_DELETERELATION, 0, (LPARAM)(LPVOID)lpRel);
- }
- BOOL WINAPI idoDoesRelationExist(HWND hIDO, long lID, LPCSTR lpszName)
- {
- RELATION relation;
-
-
- if(!IsWindow(hIDO))
- return FALSE;
-
- relation.id = lID;
- if(lpszName)
- lstrcpy(relation.name, lpszName);
-
- return (BOOL)IDO_I(hIDO, IDOM_DOESRELATIONEXIST, 0, (LPARAM)(LPVOID)&relation);
- }
-
-
- BOOL WINAPI idoReadDiagram(HWND hIDO, LPSTR szFileName)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szFileName)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_READFILE, 0, (LPARAM)(LPSTR)szFileName);
- }
- BOOL WINAPI idoSaveDiagram(HWND hIDO, LPSTR szFileName)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_SAVEFILE, 0, (LPARAM)(LPSTR)szFileName);
- }
- void WINAPI idoResetDiagram(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_RESET, 0, 0L);
- }
- BOOL WINAPI idoReadPalette(HWND hIDO, LPSTR szFileName)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szFileName)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_READPALETTE, 0, (LPARAM)(LPSTR)szFileName);
- }
- BOOL WINAPI idoSavePalette(HWND hIDO, LPSTR szFileName)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szFileName)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_SAVEPALETTE, 0, (LPARAM)(LPSTR)szFileName);
- }
- void WINAPI idoResetPalette(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_RESETPALETTE, 0, 0L);
- }
-
- long WINAPI idoGetVersion(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return -1;
-
- return IDO_I(hIDO, IDOM_GETVERSION, 0, 0L);
- }
-
- LPCSTR WINAPI idoGetFileName(HWND hIDO)
- {
- if(lpszText)
- free(lpszText);
- lpszText = calloc(sizeof(char), MAX_TEMP_LEN);
-
- if(!IsWindow(hIDO))
- return NULL;
-
- IDO_I(hIDO, IDOM_GETFILENAME, MAX_TEMP_LEN, (LPARAM)(LPSTR)lpszText);
-
- return lpszText;
- }
-
- void WINAPI idoSetFileName(HWND hIDO, LPCSTR lpFile)
- {
- if(!IsWindow(hIDO))
- return;
- if(!lpFile)
- return;
-
- IDO_I(hIDO, IDOM_SETFILENAME, 0, (LPARAM)(LPVOID)lpFile);
- }
-
- LPCSTR WINAPI idoGetInetPath(HWND hIDO)
- {
- if(lpszText)
- free(lpszText);
- lpszText = calloc(sizeof(char), MAX_TEMP_LEN);
-
- if(!IsWindow(hIDO))
- return NULL;
-
- IDO_I(hIDO, IDOM_GETINETPATH, MAX_TEMP_LEN, (LPARAM)(LPSTR)lpszText);
-
- return lpszText;
- }
-
- void WINAPI idoSetInetPath(HWND hIDO, LPCSTR lpPath)
- {
- if(!IsWindow(hIDO))
- return;
- if(!lpPath)
- return;
-
- IDO_I(hIDO, IDOM_SETINETPATH, 0, (LPARAM)(LPVOID)lpPath);
- }
-
-
- BOOL WINAPI idoReadJobsFile(HWND hIDO, LPSTR lpFile)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!lpFile)
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_READJOBSFILE, 0, (LPARAM)(LPVOID)lpFile);
- }
-
- void WINAPI idoZoom(HWND hIDO, int cMode, long lAmount)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_ZOOM, cMode, lAmount);
- }
-
-
- short WINAPI idoGetZoomValue(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return - 1;
-
- return(short)IDO_I(hIDO, IDOM_GETZOOMVALUE, 0, 0L);
- }
- void WINAPI idoSetZoomValue(HWND hIDO, short lValue)
- {
- short zAmount;
-
- if(!IsWindow(hIDO))
- return;
-
- zAmount = idoGetZoomValue(hIDO);
- IDO_I(hIDO, IDOM_ZOOM, IDO_ZOOM_PERCENT, (LPARAM)(lValue - zAmount));
- }
-
- void WINAPI idoCut(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, WM_CUT, 0, 0L);
- }
- void WINAPI idoCopy(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, WM_COPY, 0, 0L);
- }
- void WINAPI idoPaste(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, WM_PASTE, 0, 0L);
- }
-
-
- void WINAPI idoManageClasses(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_MANAGECLASSES, 0, 0L);
- }
- void WINAPI idoManageRules(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_MANAGERULES, 0, 0L);
- }
- void WINAPI idoPrintDiagram(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_PRINT, 0, 0L);
- }
- void WINAPI idoPropertyPage(HWND hIDO, int cPage)
- {
- if(!IsWindow(hIDO))
- return;
-
- IDO_I(hIDO, IDOM_PROPERTYPAGEIDO, cPage, 0L);
- }
- void WINAPI idoEntityPropertyPage(LPENTITY lpEntity, int cPage)
- {
- if(!lpEntity)
- return;
-
- IDO_I(lpEntity->hIDO, IDOM_PROPERTYPAGEENTITY, cPage, (LPARAM)(LPVOID)lpEntity);
- }
- void WINAPI idoRelationPropertyPage(LPRELATION lpRel, int cPage)
- {
- if(!lpRel)
- return;
- IDO_I(lpRel->hIDO, IDOM_PROPERTYPAGELINE, cPage, (LPARAM)(LPVOID)lpRel);
- }
-
-
- BOOL WINAPI idoIterateEntityFirst(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- if(!(idoGetNumberOfEntities(hIDO)))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_ITERATEENTITYFIRST, 0, 0L);
- }
- BOOL WINAPI idoIterateEntityNext(HWND hIDO, LPENTITY lpEnt)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!lpEnt)
- return FALSE;
-
- if(IDO_I(hIDO, IDOM_ITERATEENTITYNEXT, 0, (LPARAM)(LPVOID)lpEnt))
- return TRUE;
-
- return FALSE;
- }
- BOOL WINAPI idoIterateSelectedEntityFirst(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- if(!(idoGetNumberOfSelectedEntities(hIDO)))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_ITERATESELENTITYFIRST, 0, 0L);
- }
- BOOL WINAPI idoIterateSelectedEntityNext(HWND hIDO, LPENTITY lpEnt)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!lpEnt)
- return FALSE;
-
- if(IDO_I(hIDO, IDOM_ITERATESELENTITYNEXT, 0, (LPARAM)(LPVOID)lpEnt))
- return TRUE;
-
- return FALSE;
- }
-
-
- BOOL WINAPI idoIterateEntityClassFirst(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_ITERATEENTITYCLASSFIRST, 0, 0L);
- }
- BOOL WINAPI idoIterateEntityClassNext(HWND hIDO, LPSTR szName)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- if(!szName)
- return FALSE;
-
- if(IDO_I(hIDO, IDOM_ITERATEENTITYCLASSNEXT, 0, (LPARAM)(LPSTR)szName))
- return TRUE;
-
- return FALSE;
- }
-
-
- BOOL WINAPI idoIterateRelationFirst(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_ITERATERELATIONFIRST, 0, 0L);
- }
- BOOL WINAPI idoIterateRelationNext(HWND hIDO, LPRELATION lpRel)
- {
- if(!IsWindow(hIDO))
- return FALSE;
- if(!lpRel)
- return FALSE;
-
- if(IDO_I(hIDO, IDOM_ITERATERELATIONNEXT, 0, (LPARAM)(LPVOID)lpRel))
- return TRUE;
-
- return FALSE;
- }
- BOOL WINAPI idoIterateRelationClassFirst(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_ITERATERELATIONCLASSFIRST, 0, 0L);
- }
- BOOL WINAPI idoIterateRelationClassNext(HWND hIDO, LPSTR szName)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- if(!szName)
- return FALSE;
-
- if(IDO_I(hIDO, IDOM_ITERATERELATIONCLASSNEXT, 0, (LPARAM)(LPSTR)szName))
- return TRUE;
-
- return FALSE;
- }
-
- BOOL WINAPI idoIterateRuleFirst(HWND hIDO)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_ITERATERULEFIRST, 0, 0L);
- }
- BOOL WINAPI idoIterateRuleNext(HWND hIDO, LPIDO_RULE lpRule)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- if(!lpRule)
- return FALSE;
-
- if(IDO_I(hIDO, IDOM_ITERATERULENEXT, 0, (LPARAM)(LPVOID)lpRule))
- return TRUE;
-
- return FALSE;
- }
- BOOL WINAPI idoAddRule(HWND hIDO, LPSTR E1Class, LPSTR RClass, LPSTR E2Class)
- {
- IDO_RULE rule;
-
-
- if(!IsWindow(hIDO))
- return FALSE;
- if(!E1Class)
- return FALSE;
- if(!RClass)
- return FALSE;
- if(!E2Class)
- return FALSE;
-
- lstrcpy(rule.E1, E1Class);
- lstrcpy(rule.R1, RClass);
- lstrcpy(rule.E2, E2Class);
- if(IDO_I(hIDO, IDOM_ADDRULE, 0, (LPARAM)(LPVOID)&rule))
- return TRUE;
-
- return FALSE;
- }
- BOOL WINAPI idoDeleteRule(HWND hIDO, LPIDO_RULE lpRule)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- if(!lpRule)
- return FALSE;
-
- if(IDO_I(hIDO, IDOM_DELETERULE, 0, (LPARAM)(LPVOID)lpRule))
- return TRUE;
-
- return FALSE;
- }
- BOOL WINAPI idoDoesRuleExist(HWND hIDO, LPSTR E1Class, LPSTR RClass, LPSTR E2Class)
- {
- IDO_RULE rule;
-
-
- if(!IsWindow(hIDO))
- return FALSE;
- if(!E1Class)
- return FALSE;
- if(!RClass)
- return FALSE;
- if(!E2Class)
- return FALSE;
-
- lstrcpy(rule.E1, E1Class);
- lstrcpy(rule.R1, RClass);
- lstrcpy(rule.E2, E2Class);
- if(IDO_I(hIDO, IDOM_DOESRULEEXIST, 0, (LPARAM)(LPVOID)&rule))
- return TRUE;
-
- return FALSE;
- }
-
-
- BOOL WINAPI idoGetPopupMenu(HWND hIDO, long lFlag)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- return (BOOL)IDO_I(hIDO, IDOM_GETUSERMENU, 0, (LPARAM)lFlag);
- }
- BOOL WINAPI idoSetPopupMenu(HWND hIDO, long lFlag, BOOL bEnable)
- {
- if(!IsWindow(hIDO))
- return FALSE;
-
- if(IDO_I(hIDO, IDOM_SETUSERMENU, bEnable, (LPARAM)lFlag))
- return TRUE;
-
- return FALSE;
- }
-
- BOOL WINAPI idoGetNotifyEntity(HWND hIDO, LPENTITY lpEnt)
- {
- long lID;
- char szName[100+1];
-
- if(!lpEnt)
- return FALSE;
-
- lID = idoGetNotifyID(hIDO);
- lstrcpy(szName, idoGetNotifyName(hIDO));
-
- return idoGetEntity(hIDO, lID, szName, lpEnt);
- }
- BOOL WINAPI idoGetNotifyRelation(HWND hIDO, LPRELATION lpRel)
- {
- long lID;
- char szName[100+1];
-
- if(!lpRel)
- return FALSE;
-
- lID = idoGetNotifyID(hIDO);
- lstrcpy(szName, idoGetNotifyName(hIDO));
-
- return idoGetRelation(hIDO, lID, szName, lpRel);
- }
-
- long WINAPI idoGetNotifyID(HWND hIDO)
- {
- long lVal;
-
- IDO_I(hIDO, IDOM_GETCURRENTID, 0, (LPARAM)(LPVOID)&lVal);
- return lVal;
- }
- LPCSTR WINAPI idoGetNotifyName(HWND hIDO)
- {
- if(lpszText)
- free(lpszText);
- lpszText = calloc(sizeof(char), MAX_TEMP_LEN);
-
- IDO_I(hIDO, IDOM_GETCURRENTNAME, 0, (LPARAM)(LPSTR)lpszText);
- return (LPCSTR)lpszText;
- }
-
- ///////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////
- // PROPERTIES & METHODS FOR OBJECTS
- ///////////////////////////////////////////////////////////////////////
-
- BOOL WINAPI idoGetEntityClass(HWND hIDO, LPSTR szClassName, LPENTITY lpEntity)
- {
- LPENTITY lpEnt = NULL;
-
-
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szClassName)
- return FALSE;
- if(!lpEntity)
- return FALSE;
-
- lpEnt = (LPENTITY)IDO_I(hIDO, IDOM_SELECTOBJECT, BY_CLASSNAME | OBJ_ENTITY, (LPARAM)(LPSTR)szClassName);
-
- if(lpEnt == NULL || lpEnt < 0)
- return FALSE;
-
- memcpy(lpEntity, lpEnt, sizeof(ENTITY));
-
- return TRUE;
- }
-
- BOOL WINAPI idoGetEntity(HWND hIDO, long lID, LPSTR szName, LPENTITY lpEntity)
- {
- LPENTITY lpEnt = NULL;
-
-
- if(!IsWindow(hIDO))
- return FALSE;
-
- if(!lID && !szName)
- return FALSE;
- if(!lpEntity)
- return FALSE;
-
- if(lID == -1 && szName != NULL)
- lpEnt = (LPENTITY)IDO_I(hIDO, IDOM_SELECTOBJECT, BY_CLASSNAME | OBJ_ENTITY, (LPARAM)(LPSTR)szName);
- else
- if(lID)
- lpEnt = (LPENTITY)IDO_I(hIDO, IDOM_SELECTOBJECT, BY_ID | OBJ_ENTITY, lID);
- else
- lpEnt = (LPENTITY)IDO_I(hIDO, IDOM_SELECTOBJECT, BY_NAME | OBJ_ENTITY, (LPARAM)(LPSTR)szName);
-
- if(lpEnt == NULL || lpEnt < 0)
- return FALSE;
-
- memcpy(lpEntity, lpEnt, sizeof(ENTITY));
-
- return TRUE;
- }
-
- BOOL WINAPI idoGetRelationClass(HWND hIDO, LPSTR szClassName, LPRELATION lpRelation)
- {
- LPRELATION lpRel = NULL;
-
-
- if(!IsWindow(hIDO))
- return FALSE;
- if(!szClassName)
- return FALSE;
- if(!lpRelation)
- return FALSE;
-
- lpRel = (LPRELATION)IDO_I(hIDO, IDOM_SELECTOBJECT, BY_CLASSNAME | OBJ_LINE, (LPARAM)(LPSTR)szClassName);
-
- if(lpRel == NULL || lpRel < 0)
- return FALSE;
-
- memcpy(lpRelation, lpRel, sizeof(RELATION));
-
- return TRUE;
- }
-
- BOOL WINAPI idoGetRelation(HWND hIDO, long lID, LPSTR szName, LPRELATION lpRelation)
- {
- LPRELATION lpRel = NULL;
-
-
- if(!IsWindow(hIDO))
- return FALSE;
-
- if(!lID && !szName)
- return FALSE;
- if(!lpRelation)
- return FALSE;
-
- if(lID == -1 && szName != NULL)
- lpRel = (LPRELATION)IDO_I(hIDO, IDOM_SELECTOBJECT, BY_CLASSNAME | OBJ_LINE, (LPARAM)(LPSTR)szName);
- else
- if(lID)
- lpRel = (LPRELATION)IDO_I(hIDO, IDOM_SELECTOBJECT, BY_ID | OBJ_LINE, lID);
- else
- lpRel = (LPRELATION)IDO_I(hIDO, IDOM_SELECTOBJECT, BY_NAME | OBJ_LINE, (LPARAM)(LPSTR)szName);
-
- if(lpRel == NULL || lpRel < 0)
- return FALSE;
-
- memcpy(lpRelation, lpRel, sizeof(RELATION));
-
- return TRUE;
- }
-
-
-
- BOOL WINAPI idoEntityRepaint(LPENTITY lpEnt)
- {
- if(!lpEnt)
- return FALSE;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- return (BOOL)IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_OBJECT_REPAINT, 0L);
- }
- BOOL WINAPI idoRelationRepaint(LPRELATION lpRel)
- {
- if(!lpRel)
- return FALSE;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- return (BOOL)IDO_I(lpRel->hIDO, IDOM_SETPROPERTY, PROP_LOBJECT_REPAINT, 0L);
- }
-
-
- BOOL WINAPI idoEntityBringIntoView(LPENTITY lpEnt)
- {
- if(!lpEnt)
- return FALSE;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- return (BOOL)IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_BRINGINTOVIEW, 0L);
- }
- BOOL WINAPI idoRelationBringIntoView(LPRELATION lpRel)
- {
- if(!lpRel)
- return FALSE;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- return (BOOL)IDO_I(lpRel->hIDO, IDOM_SETPROPERTY, PROP_LBRINGINTOVIEW, 0L);
- }
-
-
- void WINAPI idoEntitySetBackColor(LPENTITY lpEnt, COLORREF lColor)
- {
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_BKCOLOR, (LPARAM)lColor);
- }
- COLORREF WINAPI idoEntityGetBackColor(LPENTITY lpEnt)
- {
- COLORREF color = 0L;
-
- if(!lpEnt)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_BKCOLOR, (LPARAM)(LPVOID)&color);
- return color;
- }
- void WINAPI idoRelationSetBackColor(LPRELATION lpRel, COLORREF lColor)
- {
- if(!lpRel)
- return;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_SETPROPERTY, PROP_LBKCOLOR, (LPARAM)lColor);
- }
- COLORREF WINAPI idoRelationGetBackColor(LPRELATION lpRel)
- {
- COLORREF color = 0L;
-
- if(!lpRel)
- return 0;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_GETPROPERTY, PROP_LBKCOLOR, (LPARAM)(LPVOID)&color);
- return color;
- }
-
-
- void WINAPI idoEntitySetTextColor(LPENTITY lpEnt, COLORREF lColor)
- {
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_TEXTCOLOR, (LPARAM)lColor);
- }
- COLORREF WINAPI idoEntityGetTextColor(LPENTITY lpEnt)
- {
- COLORREF color = 0L;
-
- if(!lpEnt)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_TEXTCOLOR, (LPARAM)(LPVOID)&color);
- return color;
- }
- void WINAPI idoRelationSetTextColor(LPRELATION lpRel, COLORREF lColor)
- {
- if(!lpRel)
- return;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_SETPROPERTY, PROP_LTEXTCOLOR, (LPARAM)lColor);
- }
- COLORREF WINAPI idoRelationGetTextColor(LPRELATION lpRel)
- {
- COLORREF color = 0L;
-
- if(!lpRel)
- return 0;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_GETPROPERTY, PROP_LTEXTCOLOR, (LPARAM)(LPVOID)&color);
- return color;
- }
-
-
- void WINAPI idoEntitySetText(LPENTITY lpEnt, LPCSTR szText)
- {
- if(!lpEnt)
- return;
- if(!szText)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_TEXT, (LPARAM)(LPCSTR)szText);
- }
- LPCSTR WINAPI idoEntityGetText(LPENTITY lpEnt)
- {
- if(lpszText)
- free(lpszText);
- lpszText = calloc(sizeof(char), MAX_TEMP_LEN);
-
- if(!lpEnt)
- return NULL;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_TEXT, (LPARAM)(LPSTR)lpszText);
- return (LPCSTR)lpszText;
- }
- void WINAPI idoRelationSetText(LPRELATION lpRel, LPCSTR szText)
- {
- if(!lpRel)
- return;
- if(!szText)
- return;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_SETPROPERTY, PROP_LTEXT, (LPARAM)(LPCSTR)szText);
- }
- LPCSTR WINAPI idoRelationGetText(LPRELATION lpRel)
- {
- if(lpszText)
- free(lpszText);
- lpszText = calloc(sizeof(char), MAX_TEMP_LEN);
-
- if(!lpRel)
- return NULL;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_GETPROPERTY, PROP_LTEXT, (LPARAM)(LPSTR)lpszText);
- return (LPCSTR)lpszText;
- }
-
-
- void WINAPI idoEntitySetUserData(LPENTITY lpEnt, LPVOID lpData)
- {
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_USERDATA, (LPARAM)lpData);
- }
- LPVOID WINAPI idoEntityGetUserData(LPENTITY lpEnt)
- {
- LPVOID lpData = 0L;
-
- if(!lpEnt)
- return NULL;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_USERDATA, (LPARAM)(LPVOID)&lpData);
- return lpData;
- }
- void WINAPI idoRelationSetUserData(LPRELATION lpRel, LPVOID lpData)
- {
- if(!lpRel)
- return;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_SETPROPERTY, PROP_LUSERDATA, (LPARAM)lpData);
- }
- LPVOID WINAPI idoRelationGetUserData(LPRELATION lpRel)
- {
- LPVOID lpData = 0L;
-
- if(!lpRel)
- return NULL;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_GETPROPERTY, PROP_LUSERDATA, (LPARAM)(LPVOID)&lpData);
- return lpData;
- }
-
-
- void WINAPI idoEntitySetFont(LPENTITY lpEnt, LPIDO_FONT lpFont)
- {
- if(!lpEnt || !lpFont)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_FONT, (LPARAM)lpFont);
- }
- LPIDO_FONT WINAPI idoEntityGetFont(LPENTITY lpEnt)
- {
- LPVOID lpData = 0L;
-
- if(!lpEnt)
- return NULL;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- {
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_FONT, (LPARAM)(LPVOID)&idoFont);
- return &idoFont;
- }
- return NULL;
- }
- void WINAPI idoRelationSetFont(LPRELATION lpRel, LPIDO_FONT lpFont)
- {
- if(!lpRel || !lpFont)
- return;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_SETPROPERTY, PROP_LFONT, (LPARAM)lpFont);
- }
- LPIDO_FONT WINAPI idoRelationGetFont(LPRELATION lpRel)
- {
- if(!lpRel)
- return NULL;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- {
- IDO_I(lpRel->hIDO, IDOM_GETPROPERTY, PROP_LFONT, (LPARAM)(LPVOID)&idoFont);
- return &idoFont;
- }
- return NULL;
- }
-
-
- long WINAPI idoRelationUserID(LPRELATION lpRel)
- {
- if(!lpRel)
- return 0;
-
- return lpRel->id;
- }
- long WINAPI idoEntityUserID(LPENTITY lpEnt)
- {
- if(!lpEnt)
- return 0;
-
- return lpEnt->id;
- }
- LPCSTR WINAPI idoRelationUserName(LPRELATION lpRel)
- {
- if(lpszText)
- free(lpszText);
- lpszText = calloc(sizeof(char), MAX_TEMP_LEN);
-
- if(!lpRel)
- return 0;
-
- lstrcpy(lpszText, lpRel->name);
- return lpszText;
- }
- LPCSTR WINAPI idoEntityUserName(LPENTITY lpEnt)
- {
- if(lpszText)
- free(lpszText);
- lpszText = calloc(sizeof(char), MAX_TEMP_LEN);
-
- if(!lpEnt)
- return 0;
-
- lstrcpy(lpszText, lpEnt->name);
- return lpszText;
- }
- LPCSTR WINAPI idoRelationClassName(LPRELATION lpRel)
- {
- if(lpszText)
- free(lpszText);
- lpszText = calloc(sizeof(char), MAX_TEMP_LEN);
-
- if(!lpRel)
- return 0;
-
- lstrcpy(lpszText, lpRel->classname);
- return lpszText;
- }
- LPCSTR WINAPI idoEntityClassName(LPENTITY lpEnt)
- {
- if(lpszText)
- free(lpszText);
- lpszText = calloc(sizeof(char), MAX_TEMP_LEN);
-
- if(!lpEnt)
- return 0;
-
- lstrcpy(lpszText, lpEnt->classname);
- return lpszText;
- }
-
- /////////////////////////////////////////
- /////////////////////////////////////////
- /////////////////////////////////////////
-
-
- void WINAPI idoEntitySetInetHost(LPENTITY lpEnt, INET_HOST host)
- {
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_INETHOST, (LPARAM)(long)host);
- }
- INET_HOST WINAPI idoEntityGetInetHost(LPENTITY lpEnt)
- {
- INET_HOST Host = (INET_HOST)-1;
-
- if(!lpEnt)
- return -1;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_INETHOST, (LPARAM)(LPVOID)(INET_HOST *)&Host);
- return Host;
- }
- void WINAPI idoEntitySetInetUrl(LPENTITY lpEnt, LPCSTR szUrl)
- {
- if(!lpEnt)
- return;
- if(!szUrl)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_INETURL, (LPARAM)(LPCSTR)szUrl);
- }
- LPCSTR WINAPI idoEntityGetInetUrl(LPENTITY lpEnt)
- {
- if(lpszText)
- free(lpszText);
- lpszText = calloc(sizeof(char), MAX_TEMP_LEN);
-
- if(!lpEnt)
- return NULL;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_INETURL, (LPARAM)(LPSTR)lpszText);
- return (LPCSTR)lpszText;
-
- }
-
-
- void WINAPI idoEntitySetShape(LPENTITY lpEnt, ENTITYSHAPE shape)
- {
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_SHAPE, (LPARAM)(long)shape);
- }
- ENTITYSHAPE WINAPI idoEntityGetShape(LPENTITY lpEnt)
- {
- ENTITYSHAPE eShape = (ENTITYSHAPE)-1;
-
- if(!lpEnt)
- return -1;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_SHAPE, (LPARAM)(LPVOID)(ENTITYSHAPE *)&eShape);
- return eShape;
- }
-
-
- void WINAPI idoEntitySetBorder(LPENTITY lpEnt, BOOL bBorder)
- {
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_BORDER, (LPARAM)bBorder);
- }
- BOOL WINAPI idoEntityGetBorder(LPENTITY lpEnt)
- {
- BOOL border = (BOOL)-1;
-
- if(!lpEnt)
- return -1;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_BORDER, (LPARAM)(LPVOID)(BOOL *)&border);
- return border;
- }
-
-
- void WINAPI idoEntitySetFrame(LPENTITY lpEnt, THREE_D_STYLE style)
- {
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_3D, (LPARAM)(long)style);
- }
- THREE_D_STYLE WINAPI idoEntityGetFrame(LPENTITY lpEnt)
- {
- THREE_D_STYLE td = (THREE_D_STYLE)-1;
-
- if(!lpEnt)
- return -1;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_3D, (LPARAM)(LPVOID)(THREE_D_STYLE *)&td);
- return td;
- }
-
-
- void WINAPI idoEntitySetContainer(LPENTITY lpEnt, long bVal)
- {
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_CONTAINER, (LPARAM)bVal);
- }
- long WINAPI idoEntityGetContainer(LPENTITY lpEnt)
- {
- long bVal = -1;
-
- if(!lpEnt)
- return - 1;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_CONTAINER, (LPARAM)(LPVOID)&bVal);
- return bVal;
- }
-
-
- void WINAPI idoEntitySetGraphic(LPENTITY lpEnt, LPCSTR szGraphic)
- {
- if(!lpEnt)
- return;
- if(!szGraphic)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_GRAPHIC, (LPARAM)(LPCSTR)szGraphic);
- }
- LPCSTR WINAPI idoEntityGetGraphic(LPENTITY lpEnt)
- {
- if(lpszText)
- free(lpszText);
- lpszText = calloc(sizeof(char), MAX_TEMP_LEN);
-
- if(!lpEnt)
- return NULL;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_GRAPHIC, (LPARAM)(LPSTR)lpszText);
- return (LPCSTR)lpszText;
- }
-
- void WINAPI idoEntitySetTextOrientation(LPENTITY lpEnt, TEXTPOSSTYLE Style)
- {
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_TEXTORIENTATION, (LPARAM)(long)Style);
- }
- TEXTPOSSTYLE WINAPI idoEntityGetTextOrientation(LPENTITY lpEnt)
- {
- TEXTPOSSTYLE Style = -1;
-
- if(!lpEnt)
- return -1;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_TEXTORIENTATION, (LPARAM)(LPVOID)(TEXTPOSSTYLE *)&Style);
- return (TEXTPOSSTYLE)Style;
- }
-
-
- int WINAPI idoEntityGetCoordX(LPENTITY lpEnt)
- {
- if(!lpEnt)
- return -1;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- return (int)IDO_I(lpEnt->hIDO, IDOM_GETENTITYCOORDX, 0, (LPARAM)(LPVOID)lpEnt);
- }
- void WINAPI idoEntitySetCoordX(LPENTITY lpEnt, int cCoord)
- {
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETENTITYCOORDX, cCoord, (LPARAM)(LPVOID)lpEnt);
- }
- int WINAPI idoEntityGetCoordY(LPENTITY lpEnt)
- {
- if(!lpEnt)
- return -1;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- return (int)IDO_I(lpEnt->hIDO, IDOM_GETENTITYCOORDY, 0, (LPARAM)(LPVOID)lpEnt);
- }
- void WINAPI idoEntitySetCoordY(LPENTITY lpEnt, int cCoord)
- {
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETENTITYCOORDY, cCoord, (LPARAM)(LPVOID)lpEnt);
- }
-
-
- long WINAPI idoEntityGetRelationInCount(LPENTITY lpEnt)
- {
- long count = -1;
-
-
- if(!lpEnt)
- return -1;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- if(IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_GETNUMHOMELINES, (LPARAM)(LPVOID)&count))
- return count;
-
- return -1;
- }
- BOOL WINAPI idoEntityIterateRelationInFirst(LPENTITY lpEnt)
- {
- if(!lpEnt)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- return (BOOL)IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_ITERATEFIRSTHOMELINE, 0L);
- }
- BOOL WINAPI idoEntityIterateRelationInNext(LPENTITY lpEnt, LPRELATION lpRel)
- {
- if(!lpEnt || !lpRel)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- return (BOOL)IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_ITERATENEXTHOMELINE, (LPARAM)(LPVOID)lpRel);
- }
-
- long WINAPI idoEntityGetRelationOutCount(LPENTITY lpEnt)
- {
- long count = -1;
-
-
- if(!lpEnt)
- return -1;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- if(IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_GETNUMAWAYLINES, (LPARAM)(LPVOID)&count))
- return count;
-
- return -1;
- }
- BOOL WINAPI idoEntityIterateRelationOutFirst(LPENTITY lpEnt)
- {
- if(!lpEnt)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- return (BOOL)IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_ITERATEFIRSTAWAYLINE, 0L);
- }
- BOOL WINAPI idoEntityIterateRelationOutNext(LPENTITY lpEnt, LPRELATION lpRel)
- {
- if(!lpEnt || !lpRel)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- return (BOOL)IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_ITERATENEXTAWAYLINE, (LPARAM)(LPVOID)lpRel);
- }
-
- BOOL WINAPI idoEntityIterateContainedEntityFirst(LPENTITY lpEnt)
- {
- if(!lpEnt)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- return (BOOL)IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_ITERATEFIRSTCONTAINED, 0L);
- }
- BOOL WINAPI idoEntityIterateContainedEntityNext(LPENTITY lpEnt, LPENTITY lpOut)
- {
- if(!lpEnt || !lpOut)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- return (BOOL)IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_ITERATENEXTCONTAINED, (LPARAM)(LPVOID)lpOut);
- }
- long WINAPI idoEntityGetContainedEntityCount(LPENTITY lpEnt)
- {
- if(!lpEnt)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- return (long)IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_CONTAINEDCOUNT, 0L);
- }
-
-
- BOOL WINAPI idoEntityAddEntityToContainer(LPENTITY lpContainer, LPENTITY lpEntity)
- {
- if(!lpEntity || !lpContainer)
- return 0;
-
- if(idoGetEntity(lpContainer->hIDO, lpContainer->id, (LPSTR)lpContainer->name, lpContainer))
- return (BOOL)IDO_I(lpContainer->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_ADDTOCONTAINER, (LPARAM)(LPVOID)lpEntity);
- }
- BOOL WINAPI idoEntityRemoveEntityFromContainer(LPENTITY lpContainer, LPENTITY lpEntity)
- {
- if(!lpEntity || !lpContainer)
- return 0;
-
- if(idoGetEntity(lpContainer->hIDO, lpContainer->id, (LPSTR)lpContainer->name, lpContainer))
- return (BOOL)IDO_I(lpContainer->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_REMOVEFROMCONTAINER, (LPARAM)(LPVOID)lpEntity);
- }
-
-
- BOOL WINAPI idoEntityGetSelect(LPENTITY lpEnt)
- {
- if(!lpEnt)
- return FALSE;
-
- return (BOOL)IDO_I(lpEnt->hIDO, IDOM_GETSELECTENTITY, 0, (LPARAM)(LPVOID)lpEnt);
- }
- void WINAPI idoEntitySetSelect(LPENTITY lpEnt, BOOL bSelect)
- {
- if(!lpEnt)
- return;
-
- IDO_I(lpEnt->hIDO, IDOM_SETSELECTENTITY, bSelect, (LPARAM)(LPVOID)lpEnt);
- }
-
-
- int WINAPI idoEntityGetTop(LPENTITY lpEnt)
- {
- RECT rect;
-
-
- if(!lpEnt)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- if(IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_RECT, (LPARAM)(LPVOID)&rect))
- return rect.top;
- }
- void WINAPI idoEntitySetTop(LPENTITY lpEnt, int cVal)
- {
- RECT rect;
-
-
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- if(IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_RECT, (LPARAM)(LPVOID)&rect))
- {
- rect.top = cVal;
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_RECT, (LPARAM)(LPVOID)&rect);
- }
- }
-
- int WINAPI idoEntityGetLeft(LPENTITY lpEnt)
- {
- RECT rect;
-
-
- if(!lpEnt)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- if(IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_RECT, (LPARAM)(LPVOID)&rect))
- return rect.left;
- }
- void WINAPI idoEntitySetLeft(LPENTITY lpEnt, int cVal)
- {
- RECT rect;
-
-
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- if(IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_RECT, (LPARAM)(LPVOID)&rect))
- {
- rect.left = cVal;
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_RECT, (LPARAM)(LPVOID)&rect);
- }
- }
-
- int WINAPI idoEntityGetRight(LPENTITY lpEnt)
- {
- RECT rect;
-
-
- if(!lpEnt)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- if(IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_RECT, (LPARAM)(LPVOID)&rect))
- return rect.right;
- }
- void WINAPI idoEntitySetRight(LPENTITY lpEnt, int cVal)
- {
- RECT rect;
-
-
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- if(IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_RECT, (LPARAM)(LPVOID)&rect))
- {
- rect.right = cVal;
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_RECT, (LPARAM)(LPVOID)&rect);
- }
- }
-
- int WINAPI idoEntityGetBottom(LPENTITY lpEnt)
- {
- RECT rect;
-
-
- if(!lpEnt)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- if(IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_RECT, (LPARAM)(LPVOID)&rect))
- return rect.bottom;
- }
- void WINAPI idoEntitySetBottom(LPENTITY lpEnt, int cVal)
- {
- RECT rect;
-
-
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- if(IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_RECT, (LPARAM)(LPVOID)&rect))
- {
- rect.bottom = cVal;
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_RECT, (LPARAM)(LPVOID)&rect);
- }
- }
-
- BOOL WINAPI idoEntityGetRect(LPENTITY lpEnt, LPRECT lpRect)
- {
- if(!lpEnt)
- return 0;
- if(!lpRect)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- return (BOOL)IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_ENTITY_RECT, (LPARAM)(LPVOID)lpRect);
- }
- void WINAPI idoEntitySetRect(LPENTITY lpEnt, LPRECT lpRect)
- {
- if(!lpEnt)
- return;
- if(!lpRect)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_ENTITY_RECT, (LPARAM)(LPVOID)lpRect);
- }
-
-
- BOOL WINAPI idoEntityGetValidRelationDragSource(LPENTITY lpEnt)
- {
- return !(idoEntityGetStyle(lpEnt, IDOS_NOSOURCE));
- }
- void WINAPI idoEntitySetValidRelationDragSource(LPENTITY lpEnt, BOOL bVal)
- {
- idoEntitySetStyle(lpEnt, !bVal, IDOS_NOSOURCE);
- }
-
- BOOL WINAPI idoEntityGetCanResize(LPENTITY lpEnt)
- {
- return !(idoEntityGetStyle(lpEnt, IDOS_NORESIZE));
- }
- void WINAPI idoEntitySetCanResize(LPENTITY lpEnt, BOOL bVal)
- {
- idoEntitySetStyle(lpEnt, !bVal, IDOS_NORESIZE);
- }
-
- BOOL WINAPI idoEntityGetCanMove(LPENTITY lpEnt)
- {
- return !(idoEntityGetStyle(lpEnt, IDOS_NOMOVE));
- }
- void WINAPI idoEntitySetCanMove(LPENTITY lpEnt, BOOL bVal)
- {
- idoEntitySetStyle(lpEnt, !bVal, IDOS_NOMOVE);
- }
-
- BOOL WINAPI idoEntityGetCanDelete(LPENTITY lpEnt)
- {
- return !(idoEntityGetStyle(lpEnt, IDOS_NOEDIT));
- }
- void WINAPI idoEntitySetCanDelete(LPENTITY lpEnt, BOOL bVal)
- {
- idoEntitySetStyle(lpEnt, !bVal, IDOS_NOEDIT);
- }
-
- BOOL WINAPI idoEntityGetReadOnly(LPENTITY lpEnt)
- {
- return idoEntityGetStyle(lpEnt, IDOS_NOEDIT);
- }
- void WINAPI idoEntitySetReadOnly(LPENTITY lpEnt, BOOL bVal)
- {
- idoEntitySetStyle(lpEnt, bVal, IDOS_NOEDIT);
- }
-
- BOOL WINAPI idoEntityGetAutoResize(LPENTITY lpEnt)
- {
- return idoEntityGetStyle(lpEnt, IDOS_AUTORESIZE);
- }
- void WINAPI idoEntitySetAutoResize(LPENTITY lpEnt, BOOL bVal)
- {
- idoEntitySetStyle(lpEnt, bVal, IDOS_AUTORESIZE);
- }
-
- BOOL WINAPI idoEntityGetStretchBitmap(LPENTITY lpEnt)
- {
- return idoEntityGetStyle(lpEnt, IDOS_STRETCHBITMAP);
- }
- void WINAPI idoEntitySetStretchBitmap(LPENTITY lpEnt, BOOL bVal)
- {
- idoEntitySetStyle(lpEnt, bVal, IDOS_STRETCHBITMAP);
- }
-
- BOOL WINAPI idoEntityGetTransparent(LPENTITY lpEnt)
- {
- return idoEntityGetStyle(lpEnt, IDOS_TRANSPARENT);
- }
- void WINAPI idoEntitySetTransparent(LPENTITY lpEnt, BOOL bVal)
- {
- idoEntitySetStyle(lpEnt, bVal, IDOS_TRANSPARENT);
- }
-
- BOOL WINAPI idoEntityGetStyle(LPENTITY lpEnt, long Style)
- {
- long lStyle;
-
- if(!lpEnt)
- return 0;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- {
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_STYLE, (LPARAM)(LPVOID)&lStyle);
- return (BOOL)(lStyle & Style);
- }
- return -1;
- }
- void WINAPI idoEntitySetStyle(LPENTITY lpEnt, BOOL bVal, long Style)
- {
- long lStyle;
-
- if(!lpEnt)
- return;
-
- if(idoGetEntity(lpEnt->hIDO, lpEnt->id, (LPSTR)lpEnt->name, lpEnt))
- {
- IDO_I(lpEnt->hIDO, IDOM_GETPROPERTY, PROP_STYLE, (LPARAM)(LPVOID)&lStyle);
- if(bVal)
- lStyle |= Style;
- else
- lStyle &= !Style;
- IDO_I(lpEnt->hIDO, IDOM_SETPROPERTY, PROP_STYLE, (LPARAM)(LPVOID)lStyle);
- }
- }
-
-
- //////////////////////////
- //////////////////////////
- //////////////////////////
-
-
- void WINAPI idoRelationSetSourceArrow(LPRELATION lpRel, ARROWSTYLE style)
- {
- if(!lpRel)
- return;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_SETPROPERTY, PROP_LINE_SRC_ARROW_STYLE, (LPARAM)(long)style);
- }
- ARROWSTYLE WINAPI idoRelationGetSourceArrow(LPRELATION lpRel)
- {
- ARROWSTYLE as = (ARROWSTYLE)-1;
-
- if(!lpRel)
- return -1;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_GETPROPERTY, PROP_LINE_SRC_ARROW_STYLE, (LPARAM)(LPVOID)(ARROWSTYLE *)&as);
- return as;
- }
- void WINAPI idoRelationSetDestinationArrow(LPRELATION lpRel, ARROWSTYLE style)
- {
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_SETPROPERTY, PROP_LINE_DST_ARROW_STYLE, (LPARAM)(long)style);
- }
- ARROWSTYLE WINAPI idoRelationGetDestinationArrow(LPRELATION lpRel)
- {
- ARROWSTYLE as = (ARROWSTYLE)-1;
-
- if(!lpRel)
- return -1;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_GETPROPERTY, PROP_LINE_DST_ARROW_STYLE, (LPARAM)(LPVOID)(ARROWSTYLE *)&as);
- return as;
- }
-
-
- void WINAPI idoRelationSetType(LPRELATION lpRel, LINESTYLE style)
- {
- if(!lpRel)
- return;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_SETPROPERTY, PROP_LINE_STYLE, (LPARAM)(long)style);
- }
- LINESTYLE WINAPI idoRelationGetType(LPRELATION lpRel)
- {
- LINESTYLE ls = (LINESTYLE)-1;
-
- if(!lpRel)
- return -1;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_GETPROPERTY, PROP_LINE_STYLE, (LPARAM)(LPVOID)(LINESTYLE *)&ls);
- return ls;
- }
-
-
- void WINAPI idoRelationSetThickness(LPRELATION lpRel, long width)
- {
- if(!lpRel)
- return;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_SETPROPERTY, PROP_LINE_THICKNESS, (LPARAM)(long)width);
- }
- long WINAPI idoRelationGetThickness(LPRELATION lpRel)
- {
- long width = -1;
-
- if(!lpRel)
- return -1;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- IDO_I(lpRel->hIDO, IDOM_GETPROPERTY, PROP_LINE_THICKNESS, (LPARAM)(LPVOID)(long *)&width);
- return width;
- }
-
-
- BOOL WINAPI idoRelationSourceEntity(LPRELATION lpRel, LPENTITY lpEnt)
- {
- if(!lpEnt || !lpRel)
- return 0;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- return (BOOL)IDO_I(lpRel->hIDO, IDOM_GETPROPERTY, PROP_LINE_SRCENTITY, (LPARAM)(LPVOID)lpEnt);
- }
-
- BOOL WINAPI idoRelationDestinationEntity(LPRELATION lpRel, LPENTITY lpEnt)
- {
- if(!lpEnt || !lpRel)
- return 0;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- return (BOOL)IDO_I(lpRel->hIDO, IDOM_GETPROPERTY, PROP_LINE_DSTENTITY, (LPARAM)(LPVOID)lpEnt);
- }
-
-
-
- BOOL WINAPI idoRelationGetReadOnly(LPRELATION lpRel)
- {
- return idoRelationGetStyle(lpRel, IDOS_NOEDIT);
- }
- void WINAPI idoRelationSetReadOnly(LPRELATION lpRel, BOOL bVal)
- {
- idoRelationSetStyle(lpRel, bVal, IDOS_NOEDIT);
- }
-
- BOOL WINAPI idoRelationGetCanDelete(LPRELATION lpRel)
- {
- return !(idoRelationGetStyle(lpRel, IDOS_NODELETE));
- }
- void WINAPI idoRelationSetCanDelete(LPRELATION lpRel, BOOL bVal)
- {
- idoRelationSetStyle(lpRel, !bVal, IDOS_NODELETE);
- }
-
- BOOL WINAPI idoRelationGetCanMoveEndPoints(LPRELATION lpRel)
- {
- return !(idoRelationGetStyle(lpRel, IDOS_NOMOVEENDPOINTS));
- }
- void WINAPI idoRelationSetCanMoveEndPoints(LPRELATION lpRel, BOOL bVal)
- {
- idoRelationSetStyle(lpRel, !bVal, IDOS_NOMOVEENDPOINTS);
- }
-
- BOOL WINAPI idoRelationGetCanMoveMidPoints(LPRELATION lpRel)
- {
- return !(idoRelationGetStyle(lpRel, IDOS_NOMOVEMIDPOINTS));
- }
- void WINAPI idoRelationSetCanMoveMidPoints(LPRELATION lpRel, BOOL bVal)
- {
- idoRelationSetStyle(lpRel, !bVal, IDOS_NOMOVEMIDPOINTS);
- }
-
-
- BOOL WINAPI idoRelationGetStyle(LPRELATION lpRel, long Style)
- {
- long lStyle;
-
- if(!lpRel)
- return 0;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- {
- IDO_I(lpRel->hIDO, IDOM_GETPROPERTY, PROP_LSTYLE, (LPARAM)(LPVOID)&lStyle);
- return (BOOL)(lStyle & Style);
- }
- return -1;
- }
- void WINAPI idoRelationSetStyle(LPRELATION lpRel, BOOL bVal, long Style)
- {
- long lStyle;
-
- if(!lpRel)
- return;
-
- if(idoGetRelation(lpRel->hIDO, lpRel->id, (LPSTR)lpRel->name, lpRel))
- {
- IDO_I(lpRel->hIDO, IDOM_GETPROPERTY, PROP_LSTYLE, (LPARAM)(LPVOID)&lStyle);
- if(bVal)
- lStyle |= Style;
- else
- lStyle &= !Style;
- IDO_I(lpRel->hIDO, IDOM_SETPROPERTY, PROP_LSTYLE, (LPARAM)(LPVOID)lStyle);
- }
- }
-
- /////////////////////////////////////////
- /////////////////////////////////////////
- /////////////////////////////////////////
-
-
- LPCSTR WINAPI idoRuleDestinationEntityClassName(LPIDO_RULE lpRule)
- {
- if(lpszText)
- free(lpszText);
- lpszText = calloc(sizeof(char), MAX_TEMP_LEN);
-
- if(!lpRule)
- return 0;
-
- lstrcpy(lpszText, lpRule->E2);
- return lpszText;
- }
- LPCSTR WINAPI idoRuleSourceEntityClassName(LPIDO_RULE lpRule)
- {
- if(lpszText)
- free(lpszText);
- lpszText = calloc(sizeof(char), MAX_TEMP_LEN);
-
- if(!lpRule)
- return 0;
-
- lstrcpy(lpszText, lpRule->E1);
- return lpszText;
- }
- LPCSTR WINAPI idoRuleRelationClassName(LPIDO_RULE lpRule)
- {
- if(lpszText)
- free(lpszText);
- lpszText = calloc(sizeof(char), MAX_TEMP_LEN);
-
- if(!lpRule)
- return 0;
-
- lstrcpy(lpszText, lpRule->R1);
- return lpszText;
- }
-
-
-