DumontEXE 0.0.1
cmcConversation.h
00001 /* ***************************************************************************
00002 **
00003 ** Copyright (C) 2007 Lorimark Solutions, LLC. All rights reserved.
00004 **
00005 ** This file is part of the DumontEXE Scripting Extension Kit
00006 **
00007 ** This file may be used under the terms of the GNU General Public
00008 ** License version 2.0 as published by the Free Software Foundation
00009 ** and appearing in the file LICENSE.GPL included in the packaging of
00010 ** this file.  Please review the following information to ensure GNU
00011 ** General Public Licensing requirements will be met:
00012 ** http://dumont.showoff-db.org/opensource.html
00013 **
00014 ** If you are unsure which license is appropriate for your use, please
00015 ** review the following information:
00016 ** http://dumont.showoff-db.org/licensing.html 
00017 ** or contact the sales department at sales@lorimarksolutions.com.
00018 **
00019 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00020 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00021 **
00022 ** author: Mark Petryk ~ Lorimark Solutions, LLC
00023 ** **************************************************************************/
00024 
00025 #ifndef CDA_CONVERSATION_H_422FD07F_0597_4cbb_A034_9AE85166472E
00026 #define CDA_CONVERSATION_H_422FD07F_0597_4cbb_A034_9AE85166472E
00027 
00028 #include <QStringList>
00029 
00030 #include "cmcApi.h"
00031 
00032 namespace cmcDatabaseApi {
00033 
00034 /*!
00035 ** \brief DDE Conversation
00036 **
00037 **
00038 */
00039 class cmcConversation:
00040   public cmcApi
00041 {
00042   Q_OBJECT
00043   public:
00044 
00045     cmcConversation( const cmcConversation & copy );
00046 
00047     cmcConversation( const QString & applicationName, const QString & topic, IDispatch * i_dispatch, cmcApplication * i_application, QObject * i_parent = NULL );
00048 
00049     ~cmcConversation();
00050 
00051   public slots:
00052 
00053     /*!
00054     ** \brief DDE Request \n
00055     **
00056     ** Send a dde request string
00057     **
00058     ** \return String list of Response
00059     */
00060     QString request
00061     (
00062       /*! Request String \n\n */
00063       const QString & req
00064 
00065     ); // endvirtual QStringList request
00066 
00067     /*!
00068     ** \brief Execute a DDE command \n
00069     **
00070     ** \return false if the execute call did not succeed
00071     */
00072     bool execute
00073     (
00074       /*! DDE command string \n\n */
00075       const QString & cmd
00076 
00077     ); // endvirtual bool execute
00078 
00079     /*!
00080     ** \brief Add an Item \n
00081     **
00082     ** This function adds an item to a category.  
00083     **
00084     ** \note Care should be taken to insure that the category can accept a
00085     **  new item.  This is the responsibility of the programmer.  No action
00086     **  is taken on the part of this function to determine if the category
00087     **  can be written to, or the potential pitfalls therein.  For instance
00088     **  it may be possible to write to a category, but if that category has
00089     **  special permissions appied to it, and if the (-me-) connection is
00090     **  not properly assigned, you could potentially have an item in a 
00091     **  category that you can neither write to nor delete.
00092     **
00093     ** \attention If the Category has mandatory fields, those fields must be filled in 
00094     **  with subsequent editItem commands. Use the getFieldDefinition request to 
00095     **  determine which fields are mandatory. Unpredictable results may follow if 
00096     **  mandatory fields are left unfilled.
00097     **
00098     ** \par vbScript Example
00099     ** \code
00100     ** dim dexe: set dexe = createObject("Dumont.EXE") ' hook dumont
00101     ** dim dapp: set dapp = dexe.applications("DB1")   ' fetch an app by the its aliasName
00102     **
00103     ** if( not dapp.cv.addItem("Person", "Smith, John (""sparky"")") ) then
00104     **   msgbox "Hmm, problem here"
00105     **   exit sub
00106     ** end if
00107     ** \endcode
00108     **
00109     ** \sa addSharedItem
00110     **
00111     ** \return bool ~ false on error
00112     */
00113     bool addItem
00114     (
00115       /*! see: \ref categoryName \n\n */
00116       const QString & categoryName,
00117 
00118       /*! see: \ref itemName \n\n */
00119       const QString & itemName,
00120 
00121       /*! see: \ref itemClarify.  (optional) \n\n */
00122       const QString & itemClarify = ""
00123 
00124     ); // endvirtual bool addItem
00125 
00126     /*!
00127     ** \brief Add a Shared Item \n
00128     **
00129     ** Identical in function to \ref addItem except that it creates a shared item, provided 
00130     **  that the database is connected and the category is shared. Otherwise a local 
00131     **  item is created.
00132     **
00133     ** \attention If the Category has mandatory fields, those fields must be filled in 
00134     **  with subsequent editItem commands. Use the getFieldDefinition request to 
00135     **  determine which fields are mandatory. Unpredictable results may follow if 
00136     **  mandatory fields are left unfilled.
00137     **
00138     ** \sa addItem
00139     **
00140     ** \return bool ~ false on error
00141     */
00142     bool addSharedItem
00143     (
00144       /*! see: \ref categoryName \n\n */
00145       const QString & categoryName,
00146 
00147       /*! see: \ref itemName \n\n */
00148       const QString & itemName
00149 
00150     );
00151 
00152     /*!
00153     ** \brief Append Text to a field \n
00154     **
00155     ** Appends Text to an existing text Field. Use this command to overcome 
00156     **  the 256 character maximum string limitation of certain macro 
00157     **  languages (such as WordBasic).  Whenever possible, use a clarified 
00158     **  item name.
00159     **
00160     ** \return bool ~ false on error
00161     */
00162     bool appendText
00163     (
00164       /*! see: \ref categoryName \n\n */
00165       const QString & categoryName,
00166 
00167       /*! see: \ref itemName \n\n */
00168       const QString & itemName,
00169 
00170       /*! see: \ref fieldName \n\n */
00171       const QString & fieldName,
00172 
00173       /*! Text to append to the field \n\n */
00174       const QString & appendText
00175 
00176     ); // endvirtual bool appendText
00177 
00178     /*!
00179     ** \brief Assign a connection \n
00180     **
00181     ** Assign a connection between the two indicated Items via Connection. 
00182     **  Whenever possible, use a \ref clarifiedItemNames "Clarified Item Name".
00183     **
00184     ** \return bool ~ false on error
00185     */
00186     bool assignConnection
00187     (
00188       /*! see: \ref categoryName \n\n */
00189       const QString & fromCategory,
00190 
00191       /*! see: \ref itemName \n\n */
00192       const QString & fromItem,
00193 
00194       /*! see: \ref connectionName \n\n */
00195       const QString & connectionName,
00196 
00197       /*! see: \ref categoryName \n\n */
00198       const QString & toCategory,
00199 
00200       /*! see: \ref itemName \n\n */
00201       const QString & toItem
00202 
00203     ); // endvirtual bool assignConnection
00204 
00205     /*!
00206     ** \brief Check a script into a form \n
00207     **
00208     ** Updates the named detail form with the VBScript in the specified 
00209     **  Filename.  Only text (.txt) format files are currently supported.
00210     **  Filename must be a fully qualified path including the drive letter 
00211     **  (e.g. c:\\tmp\\script.txt).
00212     **
00213     ** \sa cmcApplication::loadDefs
00214     **
00215     ** \return bool ~ false on error
00216     */
00217     bool checkInFormScript
00218     (
00219       /*! see: \ref categoryName \n\n */
00220       const QString & categoryName,
00221 
00222       /*! see: \ref formName \n\n */
00223       const QString & formName,
00224 
00225       /*! see: \ref fieldName \n\n */
00226       const QString & fileName
00227 
00228      ); // endvirtual bool checkInFormScript
00229 
00230     /*!
00231     ** \brief Check a script out of a form \n
00232     **
00233     ** Saves the VBScript associated with a particular detail form, FormName, 
00234     **  to the named file, Filename.  Only text (.txt) format files are currently 
00235     **  supported.  Filename must be a fully qualified path including the drive 
00236     **  letter (e.g. c:\\tmp\\script.txt).
00237     **
00238     ** \sa cmcApplication::loadDefs
00239     **
00240     ** \return bool ~ false on error
00241     */
00242     bool checkOutFormScript
00243     (
00244       /*! see: \ref categoryName \n\n */
00245       const QString & categoryName,
00246 
00247       /*! see: \ref formName \n\n */
00248       const QString & formName,
00249 
00250       /*! see: \ref fieldName \n\n */
00251       const QString & fileName
00252 
00253     ); // endvirtual bool checkOutFormScript
00254 
00255     /*!
00256     ** \brief Set the Clarify Item Names status \n
00257     **
00258     ** Tells Commence if clarified item names should be returned.
00259     **
00260     ** \sa \ref clarifiedItemNames
00261     **
00262     ** \return bool ~ false on error
00263     */
00264     void clarifyItemNames
00265     ( 
00266       /*! 
00267       ** Status Flag true/false
00268       **
00269       ** If Status is "True", Commence will always return clarified item names 
00270       **  (if the category has a clarify field defined).  If Status is "False", 
00271       **  non-clarified item names are returned.  The default is "False".
00272       ** \n\n
00273       */
00274       const bool status
00275 
00276     ); // endvirtual bool clarifyItemNames
00277 
00278     /*!
00279     ** \brief Return Clarified Item Name Status \n
00280     **
00281     ** \sa \ref clarifiedItemNames
00282     **
00283     ** \return bool ~ true if clarified item names is turned on
00284     */
00285     bool clarifyItemNames();
00286 
00287     /*!
00288     ** \brief Return a database list \n
00289     **
00290     **
00291     ** \note Use the getDatabase request to determine the currently active database.
00292     **
00293     ** \return List of Commence databases.  The list is of the form:
00294     **  {Database Name 1}TAB{Database Path 1}CR/LF{Database Name 2}TAB{Database Path 2}CR/LF... 
00295     **  CR/LF{Database Name n}TAB{Database Path n}
00296     */
00297     QString databases();
00298 
00299     /*!
00300     ** \brief Delete an Item \n
00301     **
00302     ** Deletes the indicated Item from the Category.  Once an item is deleted, it cannot 
00303     **  be recovered.  Whenever possible, use a clarified item name..
00304     **
00305     ** \return bool ~ false if the item could not be deleted
00306     */
00307     bool deleteItem
00308     (
00309       /*! see: \ref categoryName \n\n */
00310       const QString & categoryName,
00311 
00312       /*! see: \ref itemName \n\n */
00313       const QString & itemName
00314 
00315     ); // endvirtual bool deleteItem
00316 
00317     /*!
00318     ** \brief Delete a View \n
00319     **
00320     ** This command deletes the saved view.
00321     **
00322     ** \return bool ~ false if the view could not be deleted
00323     */
00324     bool deleteView
00325     (
00326       /*! see: \ref viewName \n\n */
00327       const QString & viewName
00328     );
00329 
00330     /*!
00331     ** \brief Edit an Item \n
00332     **
00333     ** Sets the value of Field to Value for the item identified by Item in 
00334     **  Category. Field must not specify a Calculation field. Date fields 
00335     **  may not specify a range, (e.g., "every day"). Whenever possible, use 
00336     **  a clarified Item name.
00337     **
00338     ** If Field is an image field, Value must specify the filename containing 
00339     **  the image. The filename must be a fully qualified path including the 
00340     **  drive letter. The specified .bmp file is pasted into the image field.  
00341     **  Only .BMP format image fields are currently supported.  For example:
00342     **
00343     ** \code
00344     ** if( not cv.editItem("Person", "Doe, John", "Snapshot", "c:\image\photo.bmp") ) then
00345     **   dexe.debug "problem editing photo into item"
00346     ** end if
00347     ** \endcode
00348     **
00349     ** \return bool ~ false if the item could not be edited
00350     */
00351     bool editItem
00352     (
00353       /*! see: \ref categoryName \n\n */
00354       const QString & categoryName,
00355 
00356       /*! see: \ref itemName \n\n */
00357       const QString & itemName,
00358 
00359       /*! see: \ref fieldName \n\n */
00360       const QString & fieldName,
00361 
00362       /*! New Field Value overwrites the existing field value \n\n */
00363       const QString & fieldValue
00364     );
00365 
00366     /*!
00367     ** \brief Fire an Agent Trigger \n
00368     **
00369     ** This command fires the indicated Agent Trigger.
00370     **
00371     ** You can pass arguments to be used by the agent actions.  The arguments
00372     **  passed via a DDE trigger are accessible using the following keyword
00373     **  strings: (-0-), (-1-), (-2-), (-3-), (-4-), (-5-), (-6-), (-7-),
00374     **  (-8-),  and (-9-).  These keyword strings may be used to display the
00375     **  passed arguments using a message box or status bar action, to set
00376     **  values in an Add or Edit Item action or any other place that keyword
00377     **  replacement is allowed in agents.  The following example illustrates
00378     **  how the DDE trigger arguments are mapped to keywords.
00379     **
00380     ** \code
00381     **  [FireTrigger(TrigStr, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9)]
00382     **    (-0-) = Always FireTrigger
00383     **    (-1-) = Trigger String, e.g., TrigStr
00384     **    (-2-) through (-9-) = The string passed in that position, e.g., Arg2
00385     **    through Arg9 respectively.
00386     ** \endcode
00387     **
00388     ** \return bool ~ false on error
00389     */
00390     bool fireTrigger
00391     (
00392       /*! Trigger Name \n\n */
00393       const QString & trigger,
00394 
00395       /*! Argument values arg2..arg9 \n\n */
00396       const QString & arg2 = "",
00397 
00398       /*! optional argument ~ string */
00399       const QString & arg3 = "",
00400 
00401       /*! optional argument ~ string */
00402       const QString & arg4 = "",
00403 
00404       /*! optional argument ~ string */
00405       const QString & arg5 = "",
00406 
00407       /*! optional argument ~ string */
00408       const QString & arg6 = "",
00409 
00410       /*! optional argument ~ string */
00411       const QString & arg7 = "",
00412 
00413       /*! optional argument ~ string */
00414       const QString & arg8 = "",
00415 
00416       /*! optional argument ~ string */
00417       const QString & arg9 = ""
00418     );
00419 
00420     /*!
00421     ** \brief Return Clipboard Formats \n
00422     **
00423     ** \return A tab-delimited list of clipboard formats supported by Commence for DDE.
00424     */
00425     QString formats();
00426 
00427     /*!
00428     ** \brief Return to Active View Info \n
00429     **
00430     ** \return Information about the currently active view. The return string is of the form:
00431     ** {ViewName}Delim {ViewType}Delim {CategoryName}Delim {ItemName}Delim {FieldName}
00432     ** {ViewType} can be any one of the following:
00433     ** 
00434     ** Book
00435     ** Calendar
00436     ** Gantt Chart
00437     ** Report
00438     ** Item Detail
00439     ** 
00440     ** {FieldName} is only valid if the active child window is an item detail. Note that a 
00441     **  \ref getField on an active item detail will only retrieve the previous field value 
00442     **  (before the edit). Until an item is saved, there is no way to retrieve updated field 
00443     **  values.
00444     **
00445     ** \note If the optional Delim parameter is not specified, the returned list is delimited 
00446     **  with CR/LF (ASCII codes 13 and 10). The Delim parameter can be any string 
00447     **  (up to 8 characters).
00448     */
00449     QString getActiveViewInfo
00450     (
00451       /*! delimiter (optional) \n\n */
00452       const QString & delimiter = "\r\n"
00453     );
00454 
00455 
00456     /*!
00457     ** \brief Return Caller ID \n
00458     **
00459     ** \return list of all items in the Category having the given phone number in a 
00460     **  phone field. 
00461     **
00462     ** If Category is blank, this function searches all categories in the currently 
00463     **  active database.  The phone number may be given in a variety of formats. 
00464     **  Some examples of valid phone values are:
00465     **
00466     ** \code
00467     ** 1(800)CALLNOW
00468     ** 415-555-1212
00469     ** 123
00470     ** \endcode
00471     **
00472     ** \note If the optional Delim parameter is not specified, the returned list is 
00473     **  delimited with CR/LF (ASCII codes 13 and 10). The Delim parameter can be any 
00474     **  string (up to 8 characters).
00475     **
00476     */
00477     QString getCallerID
00478     (
00479       /*! see: \ref categoryName \n\n */
00480       const QString & categoryName,
00481 
00482       /*! formatted phone number \n\n */
00483       const QString & phoneNumber,
00484 
00485       /*! delimiter (optional) \n\n */
00486       const QString & delimiter = "\r\n"
00487     );
00488 
00489     /*!
00490     ** \brief Get Category Count \n
00491     **
00492     ** \return long ~ number of categories in the system
00493     */
00494     long getCategoryCount();
00495 
00496     /*!
00497     ** \brief Get Category Definition \n
00498     **
00499     ** \return String ~ delimited text of Category Definition
00500     */
00501     QString getCategoryDefinition
00502     (
00503       /*! see: \ref categoryName \n\n */
00504       const QString & categoryName,
00505 
00506       /*! delimiter (optional) \n\n */
00507       const QString & delimiter = "\r\n"
00508 
00509     );
00510 
00511     /*!
00512     ** \brief Get Category Names \n
00513     **
00514     ** \return String ~ Delimited string of category names
00515     */
00516     QString getCategoryNames
00517     (
00518       /*! optional ~ defaults to vbCrLf \n\n */
00519       const QString & delimiter = "\r\n"
00520     );
00521 
00522     /*!
00523     ** \brief Get Connected Item Count \n
00524     **
00525     ** \return long ~ Number of Connected items
00526     */
00527     long getConnectedItemCount
00528     (
00529       /*! see: \ref categoryName \n\n */
00530       const QString & fromCategory,
00531 
00532       /*! see: \ref itemName \n\n */
00533       const QString & fromItem,
00534 
00535       /*! see: \ref connectionName \n\n */
00536       const QString & connectionName,
00537 
00538       /*! see: \ref categoryName \n\n */
00539       const QString & toCategory,
00540 
00541       /*! delimiter (optional) \n\n */
00542       const QString & delimiter = "\r\n"
00543     );
00544 
00545     /*!
00546     ** \brief Get a Category List \n
00547     **
00548     ** \return String ~ Delimited string of category names
00549     */
00550     QString getConnectedItemField
00551     (
00552       /*! see: \ref categoryName \n\n */
00553       const QString & fromCategory,
00554 
00555       /*! see: \ref itemName \n\n */
00556       const QString & fromItem,
00557 
00558       /*! see: \ref connectionName \n\n */
00559       const QString & connectionName,
00560 
00561       /*! see: \ref categoryName \n\n */
00562       const QString & toCategory,
00563 
00564       /*! see: \ref fieldName \n\n */
00565       const QString & toFieldName,
00566 
00567       /*! delimiter (optional) \n\n */
00568       const QString & delimiter = "\r\n"
00569 
00570     );
00571 
00572     /*!
00573     ** \brief Get Connected Item Names \n
00574     **
00575     ** \return
00576     */
00577     QString getConnectedItemNames
00578     (
00579       /*! see: \ref categoryName \n\n */
00580       const QString & fromCategory,
00581 
00582       /*! see: \ref itemName \n\n */
00583       const QString & fromItem,
00584 
00585       /*! see: \ref connectionName \n\n */
00586       const QString & connectionName,
00587 
00588       /*! see: \ref categoryName \n\n */
00589       const QString & toCategory,
00590 
00591       /*! delimiter (optional) \n\n */
00592       const QString & delimiter = "\r\n"
00593 
00594     ); //   [GetConnectedItemNames(FromCategory, FromItem, Connection, ToCategory)]
00595 
00596 //    virtual long getConnectionCount   [GetConnectionCount(Category)]
00597 
00598     /*!
00599     ** \brief Get Connection Names \n
00600     **
00601     ** \return A list of all connections where the named Commence category is the From category.
00602     **
00603     ** The list is of the form: 
00604     **
00605     **  \li {Connection 1}ConnCatDelim {ToCategory 1}Delim 
00606     **  \li {Connection 2}ConnCatDelim {ToCategory 2}Delim...Delim
00607     **  \li {Connection n}ConnCatDelim 
00608     **  \li {ToCategory n}
00609     **
00610     ** where {Connection n} is the name of the nth connection and {ToCategory n} is the name 
00611     **  of the To category for the nth connection.
00612     **
00613     ** \note If the optional delimiter parameters are not specified, the returned list is delimited 
00614     **  with CR/LF (ASCII codes 13 and 10). The Delim parameter can be any string (up to 8 
00615     **  characters).  If the optional connCatDelim parameter is not specified, the connection 
00616     **  names and their To categories are delimited with \c " -> ".
00617     **  The ConnCatDelim parameter can be any string (up to 8 characters).
00618     **
00619     ** \code vbScript Example
00620     ** dim dexe: set dexe = createObject("Dumont.EXE") ' open dumont
00621     ** dim dapp: set dapp = dexe.applications("KES")   ' fetch a database by its alias name
00622     **
00623     ** '
00624     ** ' Pull the connection names out.  You should have an array of 
00625     ** '  connection names, each of the "conName -> toCatName" format.
00626     ** '
00627     ** dim conDefs: set conDefs = Array( dapp.cv.getConnectionNames("Calendar"), vbCrLf )
00628     ** \endcode
00629     **
00630     */
00631     QString getConnectionNames
00632     (
00633       /*! see: \ref categoryName \n\n */
00634       const QString & categoryName,
00635 
00636       /*! Item delimiter.  This is usually vbCrLf. \n\n */
00637       const QString & delimiter = "\r\n",
00638 
00639       /*!
00640       ** Connection Category Delimiter.  This delimiter defaults to \c " -> " in
00641       **  the cmcDatabaseApi package.  You can override this when making your
00642       **  queries, however, this delimiter was chosen because it was assumed
00643       **  that this string would be fairly reliably unique... in otherwords, 
00644       **  some developers encode special attributes in their connection/cat
00645       **  names so as to be able to quickly distinguish a field name from a
00646       **  connection name.  The cmcDatabaseApi doesn't do that, but it may turn
00647       **  out that on some databases, the cmcDatabaseApi approach may conflict
00648       **  with some existing connection name encoding methods (such as if that
00649       **  developer already included a \c "->" in their connection name directly...
00650       **  that would be a big problem, probably).
00651       **  \n\n
00652       */
00653       const QString & conCatdelimiter = CONCAT_DELIMITER
00654 
00655     ); // endvirtual QString getConnectionNames
00656 
00657     /*!
00658     ** \brief Get Database \n
00659     **
00660     ** \return
00661     */
00662     QString getDatabase
00663     (
00664       /*! delimiter (optional) \n\n */
00665       const QString & delimiter = "\r\n"
00666 
00667     );//    [GetDatabase()]
00668 
00669     /*!
00670     ** \brief Get Database Definition \n
00671     **
00672     ** \return
00673     */
00674     QString getDatabaseDefinition
00675     (
00676       /*! delimiter (optional) \n\n */
00677       const QString & delimiter = "\r\n"
00678 
00679     ); //   [GetDatabaseDefinition()]
00680 
00681     /*!
00682     ** \brief Get Desktop Count \n
00683     **
00684     ** \return
00685     */
00686     long getDesktopCount(); //  [GetDesktopCount()]
00687 
00688     /*!
00689     ** \brief Get Desktop Names \n
00690     **
00691     ** \return
00692     */
00693     QString getDesktopNames
00694     (
00695       /*! delimiter (optional) \n\n */
00696       const QString & delimiter = "\r\n"
00697 
00698     ); //   [GetDesktopNames()]
00699 
00700     /*!
00701     ** \brief Get Field \n
00702     **
00703     ** \return
00704     */
00705     QString getField
00706     (
00707       /*! see: \ref categoryName \n\n */
00708       const QString & categoryName,
00709 
00710       /*! see: \ref itemName \n\n */
00711       const QString & itemName,
00712 
00713       /*! see: \ref fieldName \n\n */
00714       const QString & fieldName
00715 
00716     ); //   [GetField(Category, Item, Field)]
00717 
00718     /*!
00719     ** \brief Get Field Count \n
00720     **
00721     ** \return
00722     */
00723     long getFieldCount
00724     (
00725       /*! see: \ref categoryName \n\n */
00726       const QString & categoryName
00727 
00728     ); //   [GetFieldCount(Category)]
00729 
00730     /*!
00731     ** \brief Get Field Definition \n
00732     **
00733     ** \return
00734     */
00735     QString getFieldDefinition
00736     ( 
00737       /*! see \ref categoryName \n\n */
00738       const QString & categoryName, 
00739 
00740       /*! see: \ref fieldName \n\n */
00741       const QString & fieldName
00742     );
00743 
00744     /*!
00745     ** \brief Get Field Names \n
00746     **
00747     ** \return
00748     */
00749     QString getFieldNames
00750     (
00751       /*! see \ref categoryName \n\n */
00752       const QString & categoryName 
00753     );
00754 
00755 //    virtual QStringList getFields [GetFields(Category, Item, n, Field_1..., Field_n)]
00756 
00757     /*!
00758     ** \brief Get Field to File \n
00759     **
00760     ** \return
00761     */
00762     bool getFieldToFile
00763     (
00764       /*! see: \ref categoryName \n\n */
00765       const QString & categoryName,
00766 
00767       /*! see: \ref itemName \n\n */
00768       const QString & itemName,
00769 
00770       /*! see: \ref fieldName \n\n */
00771       const QString & fieldName,
00772 
00773       /*! filename ~ string */
00774       const QString & fileName
00775 
00776     );
00777 
00778     /*!
00779     ** \brief Get Form Count \n
00780     **
00781     ** \return
00782     */
00783     long getFormCount
00784     (
00785       /*! see: \ref categoryName \n\n */
00786       const QString & categoryName
00787 
00788     ); //   [GetFormCount(Category)]
00789 
00790     /*!
00791     ** \brief Get Form Names \n
00792     **
00793     ** \return
00794     */
00795     QString getFormNames
00796     ( 
00797       /*! see \ref categoryName \n\n */
00798       const QString & categoryName 
00799     );
00800 
00801 //    virtual QStringList getImageFieldNames    [GetImageFieldNames(Category, Delim)]
00802 //    virtual long getImageFieldCount   [GetImageFieldCount(Category)]
00803 //    virtual bool getImageFieldToFile  [GetImageFieldToFile(Category, Item, Field, Filename)]
00804 
00805 
00806 
00807     long getItemCount
00808     (
00809       const QString & categoryName
00810     );
00811 
00812 
00813 
00814 //    virtual QStringList getItemNames  [GetItemNames(Category)]
00815 //    virtual long getLastError [GetLastError]
00816 //    virtual QStringList getLetterViewInfo [GetLetterViewInfo()]
00817 //    virtual void getMarkItem  [GetMarkItem(Category, Item, Clarify Value)]
00818 
00819     /*!
00820     ** \brief Get Me Field value \n
00821     **
00822     **
00823     ** \return
00824     */
00825     QString getMeField
00826     (
00827       const QString & fieldName
00828     );
00829 
00830 //    virtual QString getPhoneNumber    [GetPhoneNumber(PhoneNumber)]
00831 
00832     /*!
00833     ** \brief Get Preference Setting \n
00834     **
00835     ** Returns some Commence preferences setting (from Customize-Preferences).
00836     **  Valid Settings are:
00837     **
00838     ** \li \c "Me" Returns the Category and Item Name of the selected Me item
00839     **            (delimited by CR/LF).  For example, "Person{Delim}Doe,John"
00840     **
00841     ** \li \c "ExternalDir" Returns the full path of the Commence external data file 
00842     **                      directory.  For example, "c:\commence\data\files".
00843     **
00844     ** \li \c "LetterLogDir" Returns the full path of the Commence letter Log 
00845     **                       directory.  For example, "c:\commence\letters".
00846     **
00847     */
00848     QString getPreference
00849     ( 
00850       /*! Preference setting to retrieve */
00851       const QString & setting 
00852 
00853     ); // [GetPreference(Setting)]
00854 
00855 //    virtual QString getReverseName    [GetReverseName(Name, PrefFlag)]
00856 //    virtual long getTriggerCount  [GetTriggerCount()]
00857 //    virtual QStringList getTriggerNames   [GetTriggerNames()]
00858 //    virtual lng getViewCount  [GetViewCount(Category)]
00859 
00860     /*!
00861     ** \brief Get View Names \n
00862     **
00863     **
00864     */
00865     QString getViewNames
00866     (
00867       /*! string ~ view name */
00868       const QString & categoryName
00869 
00870     ); // [GetViewNames(Category)]
00871 
00872 
00873 
00874 //    virtual bool getViewToFile    [GetViewToFile (Viewname, Mode, Param1, Param2, Filename)]
00875 //    virtual bool logPhoneCall [LogPhoneCall(Category1, Item_1..., Category_n, Item_n)]
00876 //    virtual void markActiveItem   [MarkActiveItem]
00877 //    virtual bool mergeTemplateCreate  [MergeTemplateCreate(name, Category, Shared)]
00878 //    virtual bool mergeTemplateSave    [MergeTemplateSave(name, Shared)]
00879 //    virtual bool promoteItemToShared  [PromoteItemToShared(Category, Item)]
00880 //    virtual bool showDesktop  [ShowDesktop(Desktop Name)]
00881 
00882     /*!
00883     ** \brief Show Item \n
00884     **
00885     **  [ShowItem(Category, Item, Form)]
00886     **
00887     */
00888     bool showItem
00889     (
00890       /*! string ~ Category Name \n\n */
00891       const QString & categoryName = "",
00892 
00893       /*! string ~ Item Name \n\n */
00894       const QString & itemName = "",
00895 
00896       /*! string ~ (optional) Form Name \n\n */
00897       const QString & formName = ""
00898 
00899     );
00900 
00901     /*!
00902     ** \brief Show View \n
00903     **
00904     **  [ShowView(View Name, 1)]
00905     **
00906     */
00907     bool showView
00908     (
00909       const QString & viewName,
00910       bool reopen = false
00911 
00912     );
00913 
00914 
00915 
00916 //    virtual QString status    Status
00917 //    virtual QStringList sysItems  SysItems
00918 //    virtual QStringList topics    Topics
00919 //    virtual bool unassignConnection   [UnassignConnection(FromCategory, FromItem, ConnectionName, ToCategory, ToItem)]
00920 //    virtual QString version   Version
00921 //    virtual QString versionExtended   VersionExtended
00922 
00923     /*!
00924     ** \brief View Category \n
00925     **
00926     **  [ViewCategory(Category)]
00927     **
00928     */
00929     bool viewCategory
00930     (
00931       const QString & categoryName
00932 
00933     );
00934 
00935 //    virtual bool viewConjunction  [ViewConjunction(AndOr12, AndOr13, AndOr34)]
00936 //    virtual long viewConnectedCount   [ViewConnectedCount(Index, Connection, ToCategory)]
00937 //    virtual QString viewConnectedField    [ViewConnectedField(Index, ConnectionName, ToCategory, ConnIndex, Field)]
00938 //    virtual QStringList viewConnectedFields   [ViewConnectedFields(Index, ConnectionName, ToCategory, ConnIndex, n, Field_1..., Field_n)]
00939 //    virtual QString viewConnectedItem [ViewConnectedItem(Index, Connection, ToCategory, ConnIndex)]
00940 //    virtual bool viewDeleteAllItems   [ViewDeleteAllItems()]
00941 //    virtual QString viewField [ViewField(Index, Field)]
00942 //    virtual QStringList, viewFields   [ViewFields(Index, n, Field_1..., Field_n)]
00943 //    virtual bool viewFieldToFile  [ViewFieldToFile(Index, Field, Filename)]
00944 
00945     /*!
00946     ** \brief View Filter \n
00947     **
00948     **  [ViewFilter(ClauseNumber, FilterType, NotFlag, FieldTypeParameters...)]
00949     **
00950     */
00951     bool viewFilter
00952     (
00953       const QString & filter
00954 
00955     );
00956 
00957 //    virtual bool viewImageFieldToFile [ViewImageFieldToFile(Index, Field, Filename)]
00958 
00959     /*!
00960     ** \brief View Item Count \n
00961     **
00962     **  [ViewItemCount()]
00963     **
00964     */
00965     long viewItemCount();
00966 
00967 
00968 //    virtual long viewItemIndex    [ViewItemIndex(NameFieldValue)]
00969 //    virtual QString viewItemName  [ViewItemName(Index)]
00970 
00971     /*!
00972     ** \brief View Mark Item \n
00973     **
00974     **  [ViewMarkItem(Index)]
00975     **
00976     */
00977     bool viewMarkItem
00978     (
00979       long index
00980     );
00981 
00982 //    virtual QString viewReverseName   [ViewReverseName(Name, PrefFlag)]
00983 //    virtual bool viewSaveView [ViewSaveView(New View Name, Shared)]
00984 //    virtual bool viewSort [ViewSort(Field1, Sort1, Field2, Sort2 , Field3, Sort3 , Field4, Sort4)]
00985 //    virtual bool viewView [ViewView(View Name)]
00986 
00987   signals:
00988 
00989   protected:
00990 
00991   private:
00992 
00993 }; // endclass cmcConversation:
00994 
00995 } // namespace cmcDatabaseApi
00996 
00997 #endif // #ifndef CDA_CONVERSATION_H
00998 
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties




~ ~ ~ ~ ~ ~
Source Code without Comments is like a Cranberry Garland
without the berries. Comment your Code!
 
Commence Database User Support Group Forum
http://newsgroup.showoff-db.org/
~ ~ ~ ~ ~ ~
Author: Mark Petryk
Lorimark Solutions, LLC
mark@lorimarksolutions.com