home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 January / Chip_1997-01_cd.bin / ms95 / disk22 / dir04 / f012260.re_ / f012260.re
Text File  |  1996-04-02  |  9KB  |  253 lines

  1. /*----------------------------------------------------------------------+
  2. |                                    |
  3. |  Copyright (c) 1985-93;  Bentley Systems, Inc., All rights reserved.    |
  4. |                                    |
  5. | "MicroStation", "MDL", and "MicroCSL" are trademarks of Bentley    |
  6. |  Systems, Inc.                            |
  7. |                                    |
  8. |  Limited permission is hereby granted to reproduce and modify this    |
  9. |  copyrighted material provided that the resulting code is used only     |
  10. |  in conjunction with Bentley Systems products under the terms of the    |
  11. |  license agreement provided therein, and that this notice is retained    |
  12. |  in its entirety in any such reproduction or modification.        |
  13. |                                    |
  14. +----------------------------------------------------------------------*/
  15. /*----------------------------------------------------------------------+
  16. |                                    |
  17. |   $Workfile:   msstrngl.fdf  $
  18. |   $Revision:   6.1  $
  19. |          $Date:   12 Sep 1995 13:00:14  $
  20. |                                    |
  21. +----------------------------------------------------------------------*/
  22. #if !defined (__msstrnglFDF__)
  23. #define __msstrnglFDF__
  24.  
  25. /*----------------------------------------------------------------------+
  26. |                                    |
  27. |   Header File Dependencies                        |
  28. |                                    |
  29. +----------------------------------------------------------------------*/
  30.  
  31. #if !defined (__dloadlibH__)
  32. #include "dloadlib.h"
  33. #endif
  34.  
  35. #if !defined (__mdlH__)
  36. #include "mdl.h"
  37. #endif
  38.  
  39. #if !defined (__dlogitemH__)
  40. #include "dlogitem.h"
  41. #endif
  42.  
  43. #ifndef __rscdefsH__
  44. #include "rscdefs.h"
  45. #endif
  46.  
  47. #if   defined (__BSI__) && !defined (__mdlmkn__)
  48. #include    <mistrngl.fdf>
  49. #endif
  50.  
  51. /*======================================================================+
  52. |                                    |
  53. |   Function Definitions                        |
  54. |                                    |
  55. +======================================================================*/
  56.  
  57. int mdlStringList_addResource
  58. (                /* <= SUCCESS or Error Code */
  59. RscFileHandle    rfHandle,    /* => resource file handle */
  60. ULong        resourceID,    /* => id to save as */
  61. StringList    *stringListP    /* => list to be saved */
  62. );
  63.  
  64. int mdlStringList_binarySearch
  65. (                /* <= SUCCESS or error code */
  66. int        *indexP,        /* <= return loc of elm or where to add it */
  67. StringList  *stringListP,   /* => list to search */
  68. char        *stringP,        /* => string to search for or NULL */
  69. long        *infoFieldsP,   /* => info fields to use in search or NULL */
  70. MdlFunctionP bSearchFunc    /* => NULL means use strcmp on member strings */
  71. );
  72.  
  73. int mdlStringList_binarySearchByColumn
  74. (                /* <= SUCCESS or error code */
  75. int        *indexP,        /* <= return loc of elm or where to add it */
  76. StringList  *stringListP,   /* => list to search */
  77. char        *stringP,        /* => string to search for or NULL */
  78. long        *infoFieldsP,   /* => info fields to use in search or NULL */
  79. MdlFunctionP bSearchFunc,   /* => NULL means use strcmp on member strings */
  80. int        numColumns,        /* => number of columns in list */
  81. int        columnIndex        /* => column to sort on */
  82. );
  83.  
  84. int mdlStringList_copy
  85. (                /* <= SUCCESS or error code */
  86. StringList   *toStringListP,    /* => new copied list */
  87. StringList   *fromStringListP    /* => list to copy */
  88. );
  89.  
  90. StringList *mdlStringList_create
  91. (                /* <= string list ptr or NULL if error */
  92. int        initialSize,    /* => requested number of strs */
  93. int        nInfoFields        /* => number of longs attached to string */
  94. );
  95.  
  96. int mdlStringList_deleteMember
  97. (                /* <= SUCCESS or error code */
  98. StringList  *stringListP,    /* => list to work on */
  99. int        memberIndex,    /* => index number of member to remove */
  100. int        numToDelete        /* => # of members to delete,invalid->to end*/
  101. );
  102.  
  103. int mdlStringList_destroy
  104. (                /* <= SUCCESS or error code */
  105. StringList   *stringListP    /* => list to delete */
  106. );
  107.  
  108. int mdlStringList_getInfoField
  109. (                /* <= SUCCESS or error code */
  110. long        *infoField,        /* <= info field data */
  111. StringList  *stringListP,    /* => list to work on */
  112. int        memberIndex,    /* => index number of member requested */
  113. int        infoFieldIndex    /* => info field to get */
  114. );
  115.  
  116. int mdlStringList_getMember
  117. (                /* <= SUCCESS or error code */
  118. char        **stringP,        /* <= string of member, NULL if none */
  119. long        **infoFieldsP,    /* <= info fields data, NULL if none */
  120. StringList  *stringListP,    /* => list to work on */
  121. int        memberIndex        /* => index number of member requested */
  122. );
  123.  
  124. int mdlStringList_insertMember
  125. (                /* <= SUCCESS or error code */
  126. int        *indexP,        /* <= member added here, or -1 */
  127. StringList  *stringListP,    /* => list to work on */
  128. int        memberIndex,    /* => add member at index, -1-end of list */
  129. int        numToInsert        /* => number of members to insert */
  130. );
  131.  
  132. StringList *mdlStringList_loadResource
  133. (                /* <= string list ptr of NULL */
  134. RscFileHandle    rfHandle,    /* => resource file handle */
  135. ULong        resourceID    /* => id to save as */
  136. );
  137.  
  138. int mdlStringList_moveMembers
  139. (                /* <= SUCCESS or error code */
  140. StringList  *stringListP,    /* => list to work on */
  141. int        toIndex,        /* => move to here */
  142. int        fromIndex,        /* => from here */
  143. int        numToMove        /* => number of elements to move */
  144. );
  145.  
  146.  
  147. int mdlStringList_search
  148. (                /* <= SUCCESS or error code */
  149. int        *indexP,        /* <= return loc of elm or where to add it */
  150. StringList  *stringListP,   /* => list to search */
  151. char        *stringP,        /* => string to search for or NULL */
  152. long        *infoFieldsP,   /* => info fields to use in search or NULL */
  153. int         startIndex,    /* => where to start search */
  154. MdlFunctionP searchFunc     /* => NULL means use strcmp on member strings */
  155. );
  156.  
  157. int mdlStringList_searchByColumn
  158. (                /* <= SUCCESS or error code */
  159. int        *indexP,        /* <= return loc of elm or where to add it */
  160. StringList  *stringListP,   /* => list to search */
  161. char        *stringP,        /* => string to search for or NULL */
  162. long        *infoFieldsP,   /* => info fields to use in search or NULL */
  163. int         startIndex,    /* => where to start search */
  164. MdlFunctionP searchFunc,    /* => NULL means use strcmp on member strings */
  165. int        numColumns,        /* => number of columns in list */
  166. int        columnIndex        /* => column to sort on */
  167. );
  168.  
  169. int mdlStringList_setInfoField
  170. (                /* <= SUCCESS or error code */
  171. StringList  *stringListP,    /* => list to work on */
  172. int        memberIndex,    /* => index number of member requested */
  173. int        infoFieldIndex,    /* => info field to set */
  174. long        infoField        /* => info field data */
  175. );
  176.  
  177. int mdlStringList_setMember
  178. (                /* <= SUCCESS or error code */
  179. StringList  *stringListP,    /* => list to work on */
  180. int        memberIndex,    /* => add member at index */
  181. char        *stringP,        /* => name of member to add, NULL if none */
  182. long        *infoFieldsP    /* => auxilliary data, NULL if none */
  183. );
  184.  
  185. int mdlStringList_size
  186. (                /* <= num string in list, -1 if error */
  187. StringList  *stringListP    /* => list to work on */
  188. );
  189.  
  190. int mdlStringList_sort
  191. (                /* <= SUCCESS or error code */
  192. StringList  *stringListP,   /* => list to sort */
  193. int        numToSort,        /* => number of members to sort, invalid->ALL */
  194. boolean        ascending,        /* => FALSE means descending */
  195. MdlFunctionP sortFunc       /* => NULL means use strcmp on member strings */
  196. );
  197.  
  198. int mdlStringList_sortByColumn
  199. (                /* <= SUCCESS or error code */
  200. StringList  *stringListP,   /* => list to sort */
  201. int        numToSort,        /* => number of members to sort, invalid->ALL */
  202. boolean        ascending,        /* => FALSE means descending */
  203. MdlFunctionP sortFunc,       /* => NULL means use strcmp on member strings */
  204. int        numColumns,        /* => number of columns in list */
  205. int        columnIndex        /* => column to sort on */
  206. );
  207.  
  208. int mdlStringList_sortByIndex
  209. (                /* <= SUCCESS or error code */
  210. StringList  *stringListP,   /* => list to sort */
  211. int        numToSort,        /* => number of rows to sort, invalid->ALL */
  212. boolean        ascending,        /* => FALSE means descending */
  213. MdlFunctionP sortFunc,       /* => NULL means use strcmp on member strings */
  214. int        numColumns,        /* => number of columns in list */
  215. int         startIndex        /* => 0-based row number */
  216. );
  217.  
  218. int mdlStringList_writeResource
  219. (                    /* <= SUCCESS or error code */
  220. StringList    *stringListP,        /* => list to be saved */
  221. RscFileHandle    rfHandle,        /* => resource file handle */
  222. ULong        resourceID        /* => id to save as */
  223. );
  224.  
  225.  
  226.  
  227.  
  228.  
  229. int        mdlStringList_addResourceWithType
  230. (                /* <= SUCCESS or Error Code */
  231. RscFileHandle    rfHandle,    /* => resource file handle */
  232. ULong        typeId,        /* => typeId of stringlist */
  233. ULong        resourceID,    /* => id to save as */
  234. StringList    *stringListP    /* => list to be saved */
  235. );
  236.  
  237. int        mdlStringList_writeResourceWithType
  238. (                    /* <= SUCCESS or error code */
  239. StringList    *stringListP,        /* => list to be saved */
  240. RscFileHandle    rfHandle,        /* => resource file handle */
  241. ULong        typeId,        /* => typeId of stringlist */
  242. ULong        resourceID        /* => id to save as */
  243. );
  244.  
  245. StringList      *mdlStringList_loadResourceWithType
  246. (                /* <= string list ptr of NULL */
  247. RscFileHandle    rfHandle,    /* => resource file handle */
  248. ULong        typeId,        /* => typeId of stringlist */
  249. ULong        resourceID    /* => id to save as */
  250. );
  251.  
  252. #endif
  253.