<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>StudioWorks - Version 2007-11-30</title> <meta name="keywords" content="omnis studio, raining data, studioworks documentation" /> <link rel="stylesheet" type="text/css" href="http://www.studiotips.net/css/codedoc.css" /> <link rel="stylesheet" type="text/css" href="http://www.studioworks-dev.net/css/codedoc.css" /> </head> <body> <div id="container"> <p><a href = ../index.html > Sw4 </a> &nbsp &gt; &nbsp <a href = index.html > About </a> &nbsp &gt; &nbsp Version 2007-11-30</p> <a name="version20071130" /> <h2>Version 2007-11-30</h2> <p>The following is a summary of the changes included in this release.</p> <p>This release includes a series of terrific additions to the <span class="nav">Programmer Workbench</span> window which has now become <em>command central</em> for StudioWorks development. With this release if you make any changes using the <span class="nav">Programmer Workbench</span> the cached lists are dynamically updated. As long as you make changes which affect cached lists using the <span class="nav">Programmer Tools</span> window you rarely have to rebuild lists!!</p> <p>The following is a list of the new StudioWorks programmer tools and tools enhancements included with this release.<br /> <ol> <li><span class="nav">Icons List Editor</span> - A new programmer tool for editing the <span class="code">sIcons</span> schema classes which map icons to <em>local icon names</em> which you declare. The tool displays the icon you specify so what you see is what you get. The applicable cached lists are immediately updated.</li> <li><span class="nav">String Tables _stb Schemas Editor</span> - A new programmer tool for editing the <span class="code">_stb</span> schema classes (<span class="code">sMn_stb</span>, <span class="code">sWn_stb</span>, etc.) The tool provides you with fields for label, abbrev, and tooltip. Changes and additions are immediately updated to the applicable cached lists.</li> <li><span class="nav">Navigation Menus Editor</span> - A new programmer tool for adding window instances to the navigation menus list. This tool does away with writing code in the <span class="code">oMenusList</span> objects for adding window instances to the navigation menus list.</li> <li><span class="nav">Window Menus List Editor</span> - A new programmer tool for adding menus and menu lines to window instances. This tool does away with writing code in the <span class="code">oMenusList</span> objects for adding menu lines to the window instances menus list. An added feature is that you can now map icons to window menu lines.</li> <li><span class="nav">SQL Meta-Data Editor</span> - When you modify the SQL meta-data the oSQLLists master list is immediately updated. No need to rebuild SQL lists! (Except for setting the foreign key scores.)<br /> <br /> A minor enhancement to the <span class="nav">SQL Meta-Data Editor</span> - If you use the <span class="code">RefdTableName_fkey</span> naming convention for your foreign key columns, the editor will automatically find and set the <em>reference table name</em> and the <em>referenced column name</em> when you click the foreign key checkbox.</li> <li><span class="nav">Cached List Viewers</span> - A number of cached list viewers have been added to allow you to view each cached list in its current state. The cached list is refetched each time you select the applicable tab within the <span class="nav">Programmers Workbench</span>. This can be very helpful for <em>seeing</em> the properties and values is in each cached list.</li> <li><span class="nav">Query Builder</span> - For those of you who remember the old query builder window in early versions of StudioTips, this release reintroduces <span class="nav">Query Builder</span>! <br /> <br /> <span class="nav">Query Builder</span> allows you to drag and drop columns from schema classes to build a query class. Based on the meta-data, <span class="nav">Query Builder</span> automatically calculates the <span class="code">$extraquerytext</span> WHERE clause to join the tables as you build the query! You don't even need the foreign key columns in the query for this to work.<br /> <br /> <span class="nav">Query Builder</span> has a few addition features which you can't do in Omnis Studio.</li><ul> <li>Drag and drop multiple non-contiguous columns to reorder the query columns.</li> <li>Select and delete multiple columns.</li> </ul></ol></p> <p>The following is a list of other significant modifications included with this release:</p> <ol> <li><strong>QuickStart Tutorial</strong> - The tutorial has been reviewed and updated to make use of the new programmer tools added to the <span class="nav">Programmer Workbench</span>. Interesting to note: The developer does not need to write a single line of code in the updated <span class="nav">QuickStart Tutorial</span>.</li> <li><strong>Lookup List Return &amp; Enter Keys</strong> - Modified the code so that if the lookup droplist is showing and the user presses the <kbd>enter</kbd> or <kbd>return</kbd> key the event is absorbed by the lookup field and not allowed to issued a default save. Pressing the <kbd>escape</kbd> keys does allow a full cancel.</li> <li><strong>Rebuild Cached Lists</strong> - Refactored and cleaned up the methods in the <span class="code">oRebuildCachedLists</span> object. The <span class="code">mProgrammer</span> menu items and <span class="code">wRebuildModules</span> buttons which called <span class="code">oRebuildCachedLists</span> were also reviewed and updated. Rebuilding lists and reloading string tables should be more reliable and in some cases faster with this new release. Do a <span class="nav">Find All</span> in your main library and modules for <span class="code">oRebuidCachedLists</span> and review any of your methods which called this object.</li> <li><strong>PostgreSQL</strong> - Omnis Studio version 4.3 adds a <span class="code">PGSQLDAM</span> for connecting to PostgreSQL databases. The appropriate objects have been added to StudioWorks to work with PostgreSQL. Basic testing has been done. Consider this a beta test release. Another developer at EurOmnis 2007 spoke highly of PostgreSQL choosing it over MySQL. I intend to do performance comparisons between PostgreSQL and MySQL.</li> <li><strong>DB Admin Sessions</strong> - Major overhaul of the DB Admin objects and window classes to eliminate holding multiple DBA sessions open while using the DB Admin objects and tools. The DB Admin objects and windows only open a session when a process is running. The DBA session is immediately closed when the operation is completed.</li> <li><strong>DB Set Primary Key</strong> - The code related to deciding whether the RDBMS is used for the primary key counters or the <span class="code">oRefs</span> object is used has been removed. If the RDBMS is can properly handle primary key counters, then it will be used, otherwise the <span class="code">oRefs</span> object will be used. This eliminates all of the confusion over when and where the <span class="code">dbsetprimarykey</span> property is set, and eliminates the potential critical problems that my have occurred. The <span class="code">oDBAdmin</span> series objects have been modified to automatically set the primary key counters whenever <span class="code">$syncDatabaseToSchemas</span> or <span class="code">$copyData</span> is called. This makes it so much easier for developers... if you add a table, the primary key counter is immediately set up. If you import data using <span class="code">$copyData</span> the primary key counter is automatically set higher than the maximum primary key value in each table.</li> <li><strong>Prompt Color</strong> - Added the <span class="code">wPromptColor</span> window class with accompanying <span class="code">$promptColor</span> methods to the <span class="code">oPrompts</span> and <span class="code">oPromptModeless</span> objects.</li> <li><strong>Sign-In Window</strong> - A session selector droplist has been added to the <span class="code">wSignIn</span> window class to make it easier to switch between saved sessions. The <span class="nav">Change Session</span> and <span class="code">Quit Omnis</span> buttons and the session information has been removed from the window for a cleaner simpler look. If you have copied <span class="code">wSignIn</span> to your main library you will not be affected by this change.</li> <li><strong>$stacklimit</strong> - I hit the <span class="code">$stacklimit</span> on some complex container windows so the default minimum for StudioWorks has been raised from 14 to 25.</li> </ol> <p>To update to this new release:<br /> <ol> <li>Quit Omnis Studio.</li> <li>Backup your application!</li> <li>Replace your old <span class="file">studioworks</span> folder and contents with the new <span class="file">studioworks</span> folder included with this release.</li> <li>Delete the <span class="file">app_prefs.df1</span> file inside your <span class="code">libraries/modules/</span> folder. This will force a rebuild of your cached lists.</li> <li>Open your StudioWorks app.</li> <li>Open the <span class="nav">Database Administration</span> window, select the <span class="nav">Primary Keys</span> tab, select all of the tables, and click the <span class="nav">Reset Counter Values</span> button to make sure that your primary key counters are setup and have the correct last primary key value.</li> <li>Test your app.</li> </ol></p> <p>I came to the realization that the <span class="nav">Commands</span> menus is only open when a normal StudioWorks window is on top. It is removed whenever an IDE window comes to the front. The shortcut keys in the <span class="nav">Commands</span> menu defaulted to being <em>disabled</em> for developers. There is no reason to do this so I changed them to default to being <em>enabled</em>. If there is an <span class="code">mCommands</span> menu class in your main library and it is not subclassed from <span class="code">swGui4</span> and you want your <span class="nav">Commands</span> menu shortcut keys to default to being <em>enabled</em> for developers you can either delete the mCommands menu from your main library or:</p> <ol> <li><span class="nav">F2 Browser</span> > select your main library. </li> <li>Select the <span class="code">mCommands</span> class in your main library rename it to <kbd>X_mCommands</kbd> and do the following steps.</li> <li><span class="nav">F2 Browser</span> click <span class="nav">Class Wizard</span> > <span class="nav">Menu...</span> > <span class="nav">Subclasses</span></li> <li>Select <span class="code">mCommands</span> and click the <span class="nav">Create</span> button. This puts a subclass of <span class="code">swGui4.mCommands</span> in your main library.</li> <li>Copy any custom changes from <span class="code">X_mCommands</span> to the subclassed <span class="code">mCommands</span> menu class in your main library.</li> </ol><div class="image_sideline"><img src="http://www.studiotips.net/css/images/tip.gif" alt="Tip" /><p>As a long time Mac user I have always used Cmnd+. (period character) as the shortcut for the <span class="nav">Cancel</span> button in dialog windows. I just recently discovered the <span class="nav">Esc</span> key does the same thing. Doh! Was the <span class="nav">Esc</span> key on the original Mac classic keyboards?</p> </div>Each library and the modifications in the release are listed below. The modifications are compiled from the <span class="code">@MOD</span> tag comments found in the methods of the classes in the library. <a name="mysysadmin" /> <h3>mySysAdmin</h3> No modifications <a name="swbase4" /> <h3>swBase4</h3> <p><span class="code">mProgrammer/$#About</span> <span class="moddateby">(2007-11-01 Doug K.)</span><br /> Deleted the menu item, Create/Update Default Schemas... The menu item is no longer used.</p> <p><span class="code">oDBAdmin/$#About</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Changed to only opening sessions during a request is made through the bridge and immediately closing the session when the request is finished. This solves the problem of 3 or more sessions being opened at once by the oDBAdmin object. Deleted the $:TablesOwnerSessionObj and $:TablesOwnerStmntObj methods from the bridge. Added $openSession and $closeSession to each method in the bridge which requires a DBA session with the database.</p> <p><span class="code">oDBAdmin/$#About</span> <span class="moddateby">(2007-11-24 Doug K.)</span><br /> Removed all of the 'clear logs' code from the implementor methods. Each bridge method first sends a $clearLogs message to the implementor, then calls the implementor method which matches the bridge method name.</p> <p><span class="code">oDBAdmin/$#Bridge Design Pattern - Bridge</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Clarified the role of this object to be a 'Bridge Pattern' object. It is a bridge to the oDBAminMethods_ series of 'Implementor' objects. The bridge does not need to reveal all of the methods of the implementer. The bridge and implementors can be also subclassed to the main library where its methods can be overridden.</p> <p><span class="code">oDBAdminMethods_FRONTBASE/$_setUserDefaultSchema</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Renamed to be a protected method.</p> <p><span class="code">oDBAdminMethods_FRONTBASE/$grantAllPrivilegesToUser</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Renamed to protected method to avoid messing up sessions.</p> <p><span class="code">oDBAdminMethods_FRONTBASE/$retDAMIndexesList</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Renamed to protected method to avoid messing up sessions.</p> <p><span class="code">oDBAdminMethods_FRONTBASE/$retForeignKeysList</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Renamed to protected method so that sessions won't be affected.</p> <p><span class="code">oDBAdminMethods_FRONTBASE/$retUsersList</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Renamed to be a protected method.</p> <p><span class="code">oDBAdminMethods_OMNIS/$syncDatabaseTablesToSchemas</span> <span class="moddateby">(2007-11-22 Doug K.)</span><br /> Added audit for SQL reserved words to the method. Was missed because the superclass method had been overridden.</p> <p><span class="code">oDBAdminMethods_OMNIS/$syncDatabaseTablesToSchemas</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Added setting the primary key counters to the very end of the method so that they are always in sync when a table is added or updated.</p> <p><span class="code">oDBAdminMethods_POSTGRESQL/$_retNextPrimaryKey</span> <span class="moddateby">(2007-11-21 Doug K.)</span><br /> Overrode method for PostgreSQL</p> <p><span class="code">oDBAdminMethods_POSTGRESQL/$_syncNulls</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Override $_syncNulls for PostgreSQL as it doesn't enforce NOT NULL as 'CHECK constraints'</p> <p><span class="code">oDBAdminMethods_POSTGRESQL/$retDAMIndexesList</span> <span class="moddateby">(2007-11-20 Doug K.)</span><br /> Remove early exit.</p> <p><span class="code">oDBAdminMethods_POSTGRESQL/$retForeignKeysList</span> <span class="moddateby">(2007-11-21 Doug K.)</span><br /> Custom method written to build the foreign keys list for PostgreSQL.</p> <p><span class="code">oDBAdminMethods_POSTGRESQL/$retForeignKeysList</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Renamed to protected method so that sessions won't be affected.</p> <p><span class="code">oDBAdminMethods_POSTGRESQL/$setPrimaryKeyCounterValue</span> <span class="moddateby">(2007-11-21 Doug K.)</span><br /> Overrode method for PostgreSQL</p> <p><span class="code">oDBAdminMethods_SQLSERVER/$_retNextPrimaryKey</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Renamed method from $retNextPrimaryKey to $_retNextPrimaryKey. The method is NOT supposed to be protected, not public.</p> <p><span class="code">oDBAdminMethods_abstract/$#About</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Changed to only opening sessions during a request is made through the bridge and immediately closing the session Added $openSession and $closeSession methods this object which can be called by the bridge.</p> <p><span class="code">oDBAdminMethods_abstract/$#About</span> <span class="moddateby">(2007-11-24 Doug K.)</span><br /> Removed all of the 'clear logs' code from the implementor methods. Added a $clearLogs method which the bridge can call. The decision to clear the logs is made by the bridge, not the implementor.</p> <p><span class="code">oDBAdminMethods_abstract/$#Bridge Design Pattern - Implementor</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Clarified the role of this object to be an 'Implementor' object in the 'Bridge Pattern'. The oDBAmin object is the bridge.</p> <p><span class="code">oDBAdminMethods_abstract/$_logSQLError</span> <span class="moddateby">(2007-11-21 Doug K.)</span><br /> Added method to make it easier for oDBAdmin methods to log a SQL errors when working with a statement object. The second parameter is the statement object, so this method can extract the $nativeerror... and $sqltext.</p> <p><span class="code">oDBAdminMethods_abstract/$_retNextPrimaryKey</span> <span class="moddateby">(2007-11-22 Doug K.)</span><br /> Modified the method to use oRefs if the "$retSQL_SelectPrimaryKeyCounterValue" returns empty.</p> <p><span class="code">oDBAdminMethods_abstract/$_retNextPrimaryKey</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Renamed method from $retNextPrimaryKey to $_retNextPrimaryKey. The method is NOT supposed to be protected, not public.</p> <p><span class="code">oDBAdminMethods_abstract/$_syncCollations</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Only attempt to execute SQLText if a value is returned from '$retSQL_AddCaseInsensitiveCollation'. To date FrontBase is the only one that does this.</p> <p><span class="code">oDBAdminMethods_abstract/$_syncTableAndColumns</span> <span class="moddateby">(2007-11-20 Doug K.)</span><br /> Add low() function to do case-insensitive comparison of the datatypes.</p> <p><span class="code">oDBAdminMethods_abstract/$_syncTableAndColumns</span> <span class="moddateby">(2007-11-21 Doug K.)</span><br /> Added exception for SQLDataType 'TEXT'. In PostgreSQL there is no 'length' returned for TEXT datatypes.</p> <p><span class="code">oDBAdminMethods_abstract/$_syncTableAndColumns</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Use the 'OmnisDataType' from the DAMColsList rather than the SQLDataType for checking matching data types.</p> <p><span class="code">oDBAdminMethods_abstract/$auditSchemaForReservedWords</span> <span class="moddateby">(2007-11-22 Doug K.)</span><br /> Bug fix. The table name was not being passed as a parameter. Bug fix. The column names search was incorrect. Added the upp() function to the column name. Enhancement - Report spaces in the table and column names as errors.</p> <p><span class="code">oDBAdminMethods_abstract/$clearLogs</span> <span class="moddateby">(2007-11-24 Doug K.)</span><br /> Renamed $_clearLogs to $clearLogs. This method is now only called by the bridge, not the implementors.</p> <p><span class="code">oDBAdminMethods_abstract/$closeSession_Superuser</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Created a protected method to close the superuser session.</p> <p><span class="code">oDBAdminMethods_abstract/$closeSession_TablesOwner</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Created a protected method to close the tables owner session.</p> <p><span class="code">oDBAdminMethods_abstract/$copyData</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Added setting the primary key counters to the very end of the method so that they are always in sync when data is copied in.</p> <p><span class="code">oDBAdminMethods_abstract/$insertEmptyRecords</span> <span class="moddateby">(2007-10-16 Doug K.)</span><br /> Don't insert zero pkey record if it is a control table.</p> <p><span class="code">oDBAdminMethods_abstract/$insertEmptyRecords</span> <span class="moddateby">(2007-10-24 Doug K per Mike M.)</span><br /> Bug fix. Change ColsList.controltable to SchemasList.controltable.</p> <p><span class="code">oDBAdminMethods_abstract/$openSession_Superuser</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Created a protected method to open a session as the superuser.</p> <p><span class="code">oDBAdminMethods_abstract/$openSession_TablesOwner</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Created a protected method to open a session as the tables owner.</p> <p><span class="code">oDBAdminMethods_abstract/$retDAMColsList</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Added protected method so that other method can call it without affecting the sessions (as would happen if the public method was called)</p> <p><span class="code">oDBAdminMethods_abstract/$retDAMIndexesList</span> <span class="moddateby">(2007-11-20 Doug K.)</span><br /> Remove early exit.</p> <p><span class="code">oDBAdminMethods_abstract/$retPrimaryKeysList</span> <span class="moddateby">(2007-11-22 Doug K.)</span><br /> Remove the If DBSetPkey code, always call the $_retNextPrimaryKey method to get the next pkey.</p> <p><span class="code">oDBAdminMethods_abstract/$retPrimaryKeysList</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Only include tables which are in the database.</p> <p><span class="code">oDBAdminMethods_abstract/$retUsersList</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Moved the method to a protected method and call the protected method.</p> <p><span class="code">oDBAdminMethods_abstract/$setPrimaryKeyCounterValue</span> <span class="moddateby">(2007-11-22 Doug K.)</span><br /> Restructured the method to ignore 'dbsetprimarykey'. Instead if the $retSQL_SetPrimaryKeyCounterValue returns empty, this method will default to using oRefs for the next primary key.</p> <p><span class="code">oDBAdminMethods_abstract/$setPrimaryKeyCounterValue</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Rename this method to be a protected method so that it can be called without affecting open sessions.</p> <p><span class="code">oDBAdminMethods_abstract/syncDatabaseTablesToSchemas</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Added setting the primary key counters to the very end of the method so that they are always in sync when a table is added or updated.</p> <p><span class="code">oDBAdminSQLReservedWords/$:SQLReservedWordsList</span> <span class="moddateby">(2007-10-22 Doug K.)</span><br /> Load the SQL reserved words from the $userinfo property of the object if the linecount is zero.</p> <p><span class="code">oDBAdminSQLText_POSTGRESQL/$#About</span> <span class="moddateby">(2007-10-19 Doug K.)</span><br /> Added new subclass for PostgreSQL DAM.</p> <p><span class="code">oDBAdminSQLText_POSTGRESQL/$retSQL_AddCheck_notNull</span> <span class="moddateby">(2007-11-21 Doug K.)</span><br /> Override SQL text for NOT NULL for PostgreSQL.</p> <p><span class="code">oDBAdminSQLText_abstract/$retSQL_SQLDataType</span> <span class="moddateby">(2007-11-20 Doug K.)</span><br /> Remove the NOT NULL constraint if it exists. For some RDBMSs the NOT NULL constraint is added but it messes up datatype comparisons.</p> <p><span class="code">oErrorHandler/$#About</span> <span class="moddateby">(2007-10-24 Doug K.)</span><br /> Reduced the methodstack column length from 10 million characters to 10000 characters in sErrorlog.</p> <p><span class="code">oFunctions/$canModifyClass</span> <span class="moddateby">(2007-11-15 Doug K.)</span><br /> Added code tool method to oFunctions. The method returns false if a class can not be modified due to VCS settings.</p> <p><span class="code">oFunctions/$dragdropmoveLinesInList</span> <span class="moddateby">(2007-10-19 Doug K.)</span><br /> Added GUI function which handles drag and drop on a list to move lines within a list.</p> <p><span class="code">oFunctions/$retAlphaNumeric</span> <span class="moddateby">(2007-11-13 Doug K.)</span><br /> Added optional parameter pSpecialCharsAllowed, so that the sender can specify special characters to be allowed. e.g. _ underscore</p> <p><span class="code">oFunctions/$weekOfYear</span> <span class="moddateby">(2007-11-16 Josh L.)</span><br /> Created this method because dpart(kweek,...) made some assumptions that didn't work with our application of the method.</p> <p><span class="code">oIcons/$deleteIcon</span> <span class="moddateby">(2007-11-05 Doug K.)</span><br /> Added method to allow dynamic updates of the icons list.</p> <p><span class="code">oIcons/$retIconID</span> <span class="moddateby">(2007-11-05 Doug K.)</span><br /> Modified the method so that if the pIconName includes the icon group, the icon group is parsed from the icon name.</p> <p><span class="code">oIcons/$setIcon</span> <span class="moddateby">(2007-11-05 Doug K.)</span><br /> Added method to allow dynamic updates of the icons list.</p> <p><span class="code">oLogon/$:DBSETPRIMARYKEY</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Deprecated the dbsetprimarykey property method.</p> <p><span class="code">oLogon/$:DBSETPRIMARYKEY.$assign</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Deprecated the dbsetprimarykey property method.</p> <p><span class="code">oLogon/$_SETDBSETPRIMARYKEYPROPERTY</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Deprecated the $_setDBSetPrimaryKey property method.</p> <p><span class="code">oLogonMethods/$logon</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Removed the code which called the superclass $_setDBsetPrimaryKeyProperty method.</p> <p><span class="code">oLogonMethods_FRONTBASEDAM/$logon</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Removed the code which called the superclass $_setDBsetPrimaryKeyProperty method.</p> <p><span class="code">oLogonMethods_MYSQLDAM/$logon</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Removed the code which called the superclass $_setDBsetPrimaryKeyProperty method.</p> <p><span class="code">oLogonMethods_OMSQLDAM/$logon</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Removed the code which called the superclass $_setDBsetPrimaryKeyProperty method.</p> <p><span class="code">oLogonMethods_OMSQLDAM/$logon</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Removed the code which called the superclass $_setDBsetPrimaryKeyProperty method.</p> <p><span class="code">oLogonMethods_PGSQLDAM/$#About</span> <span class="moddateby">(2007-10-19 Doug K.)</span><br /> Added new subclass for PostgreSQL DAM.</p> <p><span class="code">oLogonMethods_PGSQLDAM/$logon</span> <span class="moddateby">(2007-11-20 Doug K.)</span><br /> Override the superclass method and set the $database property before attempting to logon.</p> <p><span class="code">oLogonMethods_PGSQLDAM/$logon</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Removed the code which called the superclass $_setDBsetPrimaryKeyProperty method.</p> <p><span class="code">oPaths/$:PathUserPreferencesFolder</span> <span class="moddateby">(2007-10-12 Doug K.)</span><br /> Bug fix. Changed 'len(FolderName)=-' to 'len(FolderName)=0'</p> <p><span class="code">oPrepareNewDatabase/$prepareNewDatabase</span> <span class="moddateby">(2007-11-24 Doug K.)</span><br /> Use $findClass to find the oDBAdmin object in case it has been subclassed to the main library.</p> <p><span class="code">oRebuildCachedLists/$buildRuntimeWindows</span> <span class="moddateby">(2007-10-11 Doug K.)</span><br /> Reduce the method to just do what is advertises. Prior to calling this method you must first rebuild all cached lists.</p> <p><span class="code">oRebuildCachedLists/$rebuildAllCachedLists</span> <span class="moddateby">(2007-10-11 Doug K.)</span><br /> Added parameter pRebuildLibsList_opt and then pass it to each of the applicable methods. Do not load string tables in this method.</p> <p><span class="code">oRebuildCachedLists/$rebuildRefs</span> <span class="moddateby">(2007-10-11 Doug K.)</span><br /> Added method to just rebuild the refs object. Removed the $rebuildSQLListsAnRefs method.</p> <p><span class="code">oRebuildCachedLists/$reloadStringTables</span> <span class="moddateby">(2007-10-11 Doug K.)</span><br /> Complete overhaul of the method reducing it to just do with the method name advertises. Deleted the $reloadStringTablesMetaDataOnly method. No longer required since this method now does less work.</p> <p><span class="code">oRebuildCachedLists/$saveSharedAppPrefs</span> <span class="moddateby">(2007-10-11 Doug K.)</span><br /> Renamed the method to correctly advertise what it does. Removed the pbRuntimeRelease parameter. All cached lists are immediately saved to app_prefs when they are rebuild and assigned to the app_prefs object. This method only needs to be called for saving runtime lists to the main database if $:SharedAppPrefs is being used.</p> <p><span class="code">oRebuildCachedLists/$saveSharedAppPrefs</span> <span class="moddateby">(2007-11-27 Doug K per Josh L.)</span><br /> Added parameter pLibsList_opt which is provided causes this method to ONLY replace the portions in the shared cached lists for the specified libraries. This is important for live updates of just one or two modules by the developer.</p> <p><span class="code">oSQLLists/$rebuildSQLClassInfo</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Added method to rebuild the class info for a SQL class. If the SQL class is not found it is added to the master list. This moves towards dynamic updating of the SQL list master list for the developer.</p> <p><span class="code">oSQLLists/$removeForeignKey</span> <span class="moddateby">(2007-11-03 Doug K.)</span><br /> Added method to allow foreign keys to be dynamically removed.</p> <p><span class="code">oSQLLists/$removeSQLClass</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Added method for remove a SQL class from the master list to allow dynamic updates.</p> <p><span class="code">oSQLLists/$renameSQLClass</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Added method for renaming a SQL class in the master list to allow dynamic updates. The method also searches query classes and undates the $schema property for any query columns which pointed to the schema class.</p> <p><span class="code">oSQLLists/$retDefinedList</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Removed all code dealing with dbsetprimarykey. This will now be the RDBMS if it supports it properly.</p> <p><span class="code">oSQLLists/$setForeignKey</span> <span class="moddateby">(2007-11-03 Doug K.)</span><br /> Added method to allow foreign keys to be dynamically added/updated.</p> <p><span class="code">oSQLLists/$setTableSessionRow</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Removed the code that set the 'dbsetprimarykey' value.</p> <p><span class="code">oSQLLists/_calcClassMetaDataListRow_kQuery</span> <span class="moddateby">(2007-10-23 Doug K.)</span><br /> Check to make sure a column is found in the query class before proceeding. The query class might be empty.</p> <p><span class="code">oSQLLists/_calcClassMetaDataListRow_kQuery</span> <span class="moddateby">(2007-11-14 Doug K.)</span><br /> Check to make sure that both the baseschema and basetable are set.</p> <p><span class="code">oSQLLists/_calcClassMetaDataListRow_kSchema</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Set the labelsingular and labelplural if they are empty.</p> <p><span class="code">oSQLLists/buildClassInfo</span> <span class="moddateby">(2007-10-23 Doug K.)</span><br /> Remove any rows where the sqlclassname is empty.</p> <p><span class="code">oSQLLists/buildClassInfoForCurrLine</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Added checking for class reference and log error if a problem.</p> <p><span class="code">oSQLLists/buildForeignKeysList</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Simplified the foreign keys list definition to just the very basic columns needed.</p> <p><span class="code">oSQLLists/buildForeignKeysList</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Added 'schemalibname' column to the foreign keys list so that specific libraries can be updated in the cached list.</p> <p><span class="code">oSQLLists/getPrimaryKeyColNamesForCurrLine</span> <span class="moddateby">(2007-11-22 Doug K.)</span><br /> Clear the return values if a pkey was not found.</p> <p><span class="code">oSQLLists/retDatabaseQueriesSchemasViewsList</span> <span class="moddateby">(2007-11-06 Doug K.)</span><br /> Search and remove empty sqlclassname rows.</p> <p><span class="code">oSQLLists/retDatabaseSchemasAndViewsList</span> <span class="moddateby">(2007-11-06 Doug K.)</span><br /> Search and remove empty sqlclassname rows.</p> <p><span class="code">oSQLLists/retDatabaseSchemasList</span> <span class="moddateby">(2007-11-06 Doug K.)</span><br /> Search and remove empty sqlclassname rows.</p> <p><span class="code">oSQLTextJoinTables/$#About</span> <span class="moddateby">(2007-10-18 Doug K.)</span><br /> New tools object for general SQL methods.</p> <p><span class="code">oSQLTextJoinTables/$retJoinTablesText</span> <span class="moddateby">(2007-10-30 Doug K.)</span><br /> Add kCr between each AND in the extraquerytext to make it easier to read and edit.</p> <p><span class="code">oSecurity/$#About</span> <span class="moddateby">(2007-11-21 Doug K.)</span><br /> Changed the 'userid' column of sSecurityUsers_listdef from 10 character to 50 characters.</p> <p><span class="code">oSecurity/$saveUserPasswordInfoRow</span> <span class="moddateby">(2007-11-24 Doug K.)</span><br /> Use $findClass to find the 'oDBAdmin' object in case it is subclassed to the main library.</p> <p><span class="code">oSessionsManager/$:DefaultSessionRow_FRONTBASEDAM</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Removed code that set the dbsetprimarykey value.</p> <p><span class="code">oSessionsManager/$:DefaultSessionRow_PGSQLDAM</span> <span class="moddateby">(2007-10-19 Doug K)</span><br /> Added default initial statement for PGSQLDAM.</p> <p><span class="code">oSessionsManager/$retVendorsList</span> <span class="moddateby">(2007-10-19 Doug K.)</span><br /> Added PostgreSQL to the list of vendors.</p> <p><span class="code">oStartupTaskDefaultMethods/$_setDefaultsAndPrefs</span> <span class="moddateby">(2007-10-10 Doug K.)</span><br /> Increase minimum stacklimit from 14 to 25. Hitting the stacklimit on autosignin for a web app.</p> <p><span class="code">oStartupTaskDefaultMethods/$_setDefaultsAndPrefs</span> <span class="moddateby">(2007-10-11 Doug K per Birger R.)</span><br /> Renamed the method from a private method to a protected method.</p> <p><span class="code">oStartupTaskDefaultMethods/$_setReportDefaults</span> <span class="moddateby">(2007-10-11 Doug K per Birger R.)</span><br /> Renamed the method from a private method to a protected method.</p> <p><span class="code">oStartupTaskDefaultMethods/$constructMethod</span> <span class="moddateby">(2007-10-11 Doug K per Birger R.)</span><br /> Changed call to setDefaultsAndPrefs to renamed method $_setDefaultsAndPrefs. Changed call to setReportDefaults to renamed method $_setReportDefaults.</p> <p><span class="code">oStartupTaskDefaultMethods/$destructMethod</span> <span class="moddateby">(2007-11-05 Doug K.)</span><br /> Added call to 'saveCachedLists' for developer version of Omnis Studio, so that all dynamic updates to cached lists are saved on closing the app.</p> <p><span class="code">oStartupTaskDefaultMethods/saveCachedLists</span> <span class="moddateby">(2007-11-05 Doug K.)</span><br /> Added method 'saveCachedLists' so that all dynamic updates to cached lists are saved on closing the app.</p> <p><span class="code">oStartupTaskVarsTool/$setTaskVarPropertiesAfterSignIn</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Removed the code that dealt with dbsetprimarykey</p> <p><span class="code">oStartupTaskVarsTool/checkandrebuildListsIfReqd</span> <span class="moddateby">(2007-11-01 Doug K.)</span><br /> Comment out oRebuildAppPrefs.$saveAppPrefs line. The method is obsolete as caches lists are immediately saved when they are rebuilt.</p> <p><span class="code">oStringTables/$:StringTablesMasterList.$assign</span> <span class="moddateby">(2007-10-14 Doug K.)</span><br /> Added property assign method to allow the string table editor to update the master list.</p> <p><span class="code">oStringTables/$loadStringTables</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Move $sort to a private method and call the method.</p> <p><span class="code">oStringTables/$removeLanguage</span> <span class="moddateby">(2007-11-13 Doug K.)</span><br /> Added method to remove a language from the string tables master list. The method removes the language columns for the specified language from the list.</p> <p><span class="code">oStringTables/$removeLine</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Added method to oStringTable to remove a line from the master list so that dynamic updates can be done.</p> <p><span class="code">oStringTables/$setTextTooltipAbbrev</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Added method to oStringTable to add/update an item in the master list so that dynamic updates can be done.</p> <p><span class="code">oStringTables/$updateMasterList</span> <span class="moddateby">(2007-10-14 Doug K.)</span><br /> Added method to allow the string tables editor to dynamically update the string tables master list.</p> <p><span class="code">oStringTables/_loadSchemas_stb</span> <span class="moddateby">(2007-10-14 Doug K.)</span><br /> Add trim() to strtok() to remove any leading and trailing spaces.</p> <p><span class="code">oStringTables/_retDefinedStbList</span> <span class="moddateby">(2007-11-01 Doug K.)</span><br /> If the base language has not been defined, set it to the current language column name.</p> <p><span class="code">oStringTables/loadStringTablesFromDatabase</span> <span class="moddateby">(2007-11-01 Doug K.)</span><br /> Check for linecount in the stbList before merging into the masterlist.</p> <p><span class="code">oStringTables/loadStringTablesFromTextFile</span> <span class="moddateby">(2007-11-01 Doug K.)</span><br /> Check for linecount in the stbList before merging into the masterlist.</p> <p><span class="code">oTableMethods/$doinsertsBatch</span> <span class="moddateby">(2007-10-18 Doug K.)</span><br /> Use local variable counter instead of List.$line for loop. Slightly better performance. Redraw working message every 100 vs. 5</p> <p><span class="code">oTableMethods_POSTGRESQL/$#About</span> <span class="moddateby">(2007-10-19 Doug K.)</span><br /> Added new subclass for PostgreSQL DAM.</p> <p><span class="code">oTableMethods_POSTGRESQL/$checkfixSQLText_LIKE</span> <span class="moddateby">(2007-11-21 Doug K.)</span><br /> For Postgres change LIKE to ILIKE for case-insensitive searches. PostgreSQL allows LIKE searches on numeric columns, so we don't need replace LIKE with = operator therefore don't run the superclass method code for PostgreSQL.</p> <p><span class="code">oTableMethods_POSTGRESQL/$retNextPrimaryKey</span> <span class="moddateby">(2007-11-21 Doug K.)</span><br /> Added a subclass method for PostgreSQL which returns the next sequence value from the RDBMS. If a sequence row does not exist the method will automatically create one and set the value to the max(pkey) value in table +1001.</p> <p><span class="code">oTableMethods_POSTGRESQL/$setSQLText_InsDateTime</span> <span class="moddateby">(2007-11-21 Doug K.)</span><br /> Added method to allow SQLText to be modified to set the ModDateTime column value using the timenow() PostgreSQL function.</p> <p><span class="code">oTableMethods_POSTGRESQL/$setSQLText_ModDateTime</span> <span class="moddateby">(2007-11-21 Doug K.)</span><br /> Added method to allow SQLText to be modified to set the ModDateTime column value using the timenow() PostgreSQL function.</p> <p><span class="code">oTableMethods_SQLSERVER/$doinsertsBatch</span> <span class="moddateby">(2007-10-18 Doug K.)</span><br /> Use local variable counter instead of List.$line for loop. Slightly better performance. Redraw working message every 100 vs. 5</p> <p><span class="code">oTableMethods_SQLSERVER/$retNextPrimaryKey</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Removed the code that dealt with dbsetprimarykey.</p> <p><span class="code">oTableMethods_SQLSERVER/setIdentityInsert</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Removed the code that dealt with dbsetprimarykey.</p> <p><span class="code">owcIconsListEditor/$#About</span> <span class="moddateby">(2007-11-05 Doug K.)</span><br /> Added icons list editor window controller object for wIconsListEditor window class.</p> <p><span class="code">owcStringTablesSchemasEditor/$#About</span> <span class="moddateby">(2007-11-05 Doug K.)</span><br /> Added icons list editor window controller object for wIconsListEditor window class.</p> <p><span class="code">owcStringTablesSchemasEditor/$deleteCurrLine</span> <span class="moddateby">(2007-11-14 Doug K.)</span><br /> Added method to delete the current line. Called by the context menu.</p> <p><span class="code">owcStringTablesSchemasEditor/openGridContextMenu</span> <span class="moddateby">(2007-11-14 Doug K.)</span><br /> Added context menu item to delete the current line from the cols list and the schema class.</p> <p><span class="code">owcStringTablesSchemasEditor/saveColsListChanges</span> <span class="moddateby">(2007-11-14 Doug K.)</span><br /> Added code to send $recalcLanguageText messages to the main menu and command menu instances so that the menu values are immediately updated.</p> <p><span class="code">tBase/$:DBSETPRIMARYKEY</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Deprecated the $:DBSetPrimaryKey property methods in tBase.</p> <p><span class="code">tBase/$:DBSETPRIMARYKEY.$assign</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Deprecated the $:DBSetPrimaryKey property methods in tBase.</p> <p><span class="code">tBase/$dodeletesBatch</span> <span class="moddateby">(2007-10-18 Doug K.)</span><br /> Use local variable counter instead of List.$line for loop. Slightly better performance.</p> <p><span class="code">tBase/$doupdatesBatch</span> <span class="moddateby">(2007-10-18 Doug K.)</span><br /> Use local variable counter instead of List.$line for loop. Slightly better performance. Redraw working message every 100 vs. 5</p> <p><span class="code">tBase/$setPrimaryKey</span> <span class="moddateby">(2007-11-22 Doug K.)</span><br /> Remove 'If ibDBSetPkey'. Always call the ioTableMethods object and let it decide how to set the primary key.</p> <p><span class="code">wDBAdmin/$construct</span> <span class="moddateby">(2007-11-24 Doug K.)</span><br /> Use $findClass to find the oDBAdmin object in case it has been subclassed to the main library.</p> <p><span class="code">wDBAdminDataMover/$construct</span> <span class="moddateby">(2007-11-24 Doug K.)</span><br /> Use $findClass to find the oDBAdmin object in case it has been subclassed to the main library.</p> <p><span class="code">wDBAdminDataMover/moveData</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Modify the 'moveData' method so that it first does a sync, then moves data (which now also sets the primary key counter) Removed the "Sync Database" button and the "Set PKey Counters" button.</p> <p><span class="code">wDBAdminSchemas/setCurrLineInSchemasList</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Minor fix. Add not() to the search so that the previously selected schema class is reselected if found.</p> <p><span class="code">wErrorPrompt/$construct</span> <span class="moddateby">(2007-10-30 Doug K.)</span><br /> Default the 'More Info' button to hidden. Added switch/case for leaving the button hidden.</p> <p><span class="code">wRebuildLists/rebuildRuntimeLists</span> <span class="moddateby">(2007-10-11 Doug K.)</span><br /> Modified method to work with the refactored oRebuildCachedLists object methods.</p> <p><span class="code">wRebuildLists/rebuildRuntimeLists</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Removed the bRuntimeRelease parameter. No longer required.</p> <p><span class="code">wRebuildLists/rebuildRuntimeWindowsAndAllLists</span> <span class="moddateby">(2007-10-11 Doug K.)</span><br /> Modified method to work with the refactored oRebuildCachedLists object methods.</p> <p><span class="code">wRebuildLists/rebuildSQLLists</span> <span class="moddateby">(2007-10-11 Doug K.)</span><br /> Modified method to work with the refactored oRebuildCachedLists object methods.</p> <p><span class="code">wRebuildLists/rebuildWindowsMenusIcons</span> <span class="moddateby">(2007-10-11 Doug K.)</span><br /> Modified method to work with the refactored oRebuildCachedLists object methods.</p> <p><span class="code">wRebuildLists/reloadStringTables</span> <span class="moddateby">(2007-10-11 Doug K.)</span><br /> Modified method to work with the refactored oRebuildCachedLists object methods.</p> <p><span class="code">wSQLMetaData/$#About</span> <span class="moddateby">(2007-10-25 Doug K.)</span><br /> Modified the code so that checking/unchecking the Show Queries, Schemas, Other checkboxes immediately rebuilds the visible nodes to reflect the user action. Previously you had to collapse/expand the library nodes.</p> <p><span class="code">wSQLMetaData/$delete</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Added code to dynamically remove the SQL class from the oSQLLists master list. Added code to dynamically remove the Tbl and Tblplural lines from the oStringTables master list.</p> <p><span class="code">wSQLMetaData/$rebuildExpandedNodes</span> <span class="moddateby">(2007-10-25 Doug K.)</span><br /> Added method to rebuild the expanded nodes so that the show/hide checkbox actions will be immediately reflected in the treelist.</p> <p><span class="code">wSQLMetaData/addChildNodes</span> <span class="moddateby">(2007-10-25 Doug K.)</span><br /> Build the schemas and queries list directly from the library rather than getting it from oSQLLists so that new schemas and queries show up without having to do a rebuild.</p> <p><span class="code">wSQLMetaDataClassEditor_abstract/$_buildDefaultList</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Check to make sure the class exists in the oSQLLists master list. If not, call $rebuildSQLClassInfo to add it.</p> <p><span class="code">wSQLMetaDataEditor_abstract/$inherit</span> <span class="moddateby">(2007-11-15 Doug K.)</span><br /> Remove early exits.</p> <p><span class="code">wSQLMetaDataEditor_abstract/$override</span> <span class="moddateby">(2007-11-15 Doug K.)</span><br /> Remove early exits.</p> <p><span class="code">wSQLMetaDataSchemaColsEditor/_fieldRule_foreignkey</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Added helpful code to find and set the fkey refdtablename and refdcolnames if StudioWorks naming conventions (_fkey and _pkey) are followed.</p> <p><span class="code">wSQLMetaDataSchemaColsEditor/removeForeignKey</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Added a method to dynamically remove foreign keys.</p> <p><span class="code">wSQLMetaDataSchemaColsEditor/setForeignKey</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Added method to dynamically set/update the foreign keys.</p> <p><span class="code">wSQLMetaDataSchemaColsEditor/updateStringTables</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Added method to update the string tables master list. Method is called from the label, tooltip, and abbrev fields if modified.</p> <p><span class="code">wSQLQueryBuilder/$#About</span> <span class="moddateby">(2007-10-18 Doug K.)</span><br /> 'Query Builder' window. Enhancement for building queries and automatically calculating the tables join text.</p> <p><span class="code">wSQLQueryBuilder/$#About</span> <span class="moddateby">(2007-10-29 Doug K.)</span><br /> Added 'old query text' field and options to copy back the old query text so that it can be recovered. Added queries treelist to the right side of the window to make it easier to load and duplicate query classes.</p> <p><span class="code">wSQLQueryBuilder/$deleteSelectedLines</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Only calculate the extra query text if the old query text was empty. Avoid overwriting existing query text.</p> <p><span class="code">wSQLQueryBuilder/$duplicate</span> <span class="moddateby">(2007-11-27 Doug K per Josh L)</span><br /> Set $showascheckedout if applicable on the duplicate class.</p> <p><span class="code">wSQLQueryBuilder/$duplicate</span> <span class="moddateby">(2007-11-27 Doug K per Josh L)</span><br /> Set $showascheckedout if applicable on the duplicate class.</p> <p><span class="code">wSQLQueryBuilder/$event</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Added warning message if the new query text does not match the old query text.</p> <p><span class="code">wSQLQueryBuilder/$newQuery</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Modify method to expand the root node if it hasn't been expanded yet.</p> <p><span class="code">wSQLQueryBuilder/$newQuery</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Modify method to expand the root node if it hasn't been expanded yet.</p> <p><span class="code">wSQLQueryBuilder/$newQuery</span> <span class="moddateby">(2007-11-27 Doug K)</span><br /> Fixed the code for $showascheckedout if applicable on the new class. Fixed the code for select the new class node after it is created.</p> <p><span class="code">wSQLQueryBuilder/$newQuery</span> <span class="moddateby">(2007-11-27 Doug K)</span><br /> Fixed the code for $showascheckedout if applicable on the new class. Fixed the code for select the new class node after it is created.</p> <p><span class="code">wSQLQueryBuilder/addSchema</span> <span class="moddateby">(2007-10-24 Doug K per Mike M.)</span><br /> Prefix the library name if the schema class is in a different library than the query class.</p> <p><span class="code">wSQLQueryBuilder/addSchemaCols</span> <span class="moddateby">(2007-10-24 Doug K per Mike M.)</span><br /> Prefix the library name if the schema class is in a different library than the query class.</p> <p><span class="code">wSQLQueryBuilder/addSchemaCols</span> <span class="moddateby">(2007-10-24 Doug K.)</span><br /> Set the LineNum to 1 so that dropping columns on an empty list goes in the correct order.</p> <p><span class="code">wSQLQueryBuilder/editQueryClass</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Do not disable the entire window if the query class needs to be checked out of the VCS.</p> <p><span class="code">wSQLQueryBuilder/eventDrop</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Only calculate the extra query text if the old query text was empty. Avoid overwriting existing query text.</p> <p><span class="code">wSQLQueryBuilder/setMessage</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Display a warning message if the query class needs to be checked out. Just disable query columns list if the query class needs to be checked out of the VCS.</p> <p><span class="code">wSessionEdit/$testSession</span> <span class="moddateby">(2007-11-20 Doug K.)</span><br /> Close the test session if logon is successful so that we don't end up with extra sessions open. Remove early exits.</p> <p><span class="code">wStringTablesEditor/buildTablesList</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Reselect the last selected table.</p> <p><span class="code">wStringTablesEditor/saveMasterList</span> <span class="moddateby">(2007-10-14 Doug K.)</span><br /> Dynamically update the string tables masters list whenever changes are saved.</p> <span class="code">wTools_abstract/$#About</span> <span class="moddateby">(2007-11-16 Doug K.)</span><br /> Added code to the $event method to disable the mCommands menu for the $ctask when this window is on top. <a name="swdocs4" /> <h3>swDocs4</h3> <p><span class="code">@20 Quick Start Tutorial/@00 About</span> <span class="moddateby">(2007-11-13 Doug K.)</span><br /> Complete update of the QuickStart Tutorial which makes use of the new programmer tools added to the Programmer Workbench.</p> <p><span class="code">@20 Quick Start Tutorial/@05 Setting File And Library Names</span> <span class="moddateby">(2007-11-14 Doug K.)</span><br /> Updated the tutorial to avoid the notation errors when renaming the main library $defaultname. By opening the main library without running the Startup_Task, and by deleting the app_prefs.df1 file the errors are avoided.</p> <span class="code">@20 Quick Start Tutorial/@06 Opening the Drivers App</span> <span class="moddateby">(2007-11-14 Doug K.)</span><br /> Updated the tutorial to match the string tables editor enhancements. The menus are automatically updated, no need to close and reopen the app. <a name="swgui4" /> <h3>swGui4</h3> <p><span class="code">mCommands/$construct</span> <span class="moddateby">(2007-11-14 Doug K.)</span><br /> Default the commands menu to having the shortcut keys enabled for developers. The commands menu is only installed/active when a non-IDE window is on top.</p> <p><span class="code">mCommands/$recalcLanguageText</span> <span class="moddateby">(2007-11-14 Doug K.)</span><br /> Added method to recalc the language text for immediate updating on language change or string table update.</p> <p><span class="code">mMenu/$_addMenuLine</span> <span class="moddateby">(2007-11-12 Doug K.)</span><br /> Added code to use the pMenuLineID if the pMenuLineText is empty.</p> <p><span class="code">mMenu/$_addMenuLine</span> <span class="moddateby">(2007-11-13 Doug K.)</span><br /> Added parameter pIconID and code to set the $iconid if a value is sent.</p> <p><span class="code">mMenu/$control</span> <span class="moddateby">(2007-11-13 Doug K.)</span><br /> Use the new objectlibname and objectclassname columns in the menu lines list, rather than the objectclassref column.</p> <p><span class="code">mMenu/$initialize</span> <span class="moddateby">(2007-11-13 Doug K.)</span><br /> Added sending the iconid property to the $_addMenuLine method.</p> <p><span class="code">mReports/$control</span> <span class="moddateby">(2007-11-13 Doug K.)</span><br /> Use the new objectlibname and objectclassname columns in the menu lines list, rather than the objectclassref column.</p> <p><span class="code">oConcretizer/setTextAndTooltipProperties</span> <span class="moddateby">(2007-10-14 Doug K.)</span><br /> Added kDroplist and kCombo to the type of fields to set the tooltip text from the $tooltip property value.</p> <p><span class="code">oFieldHandler/$#About</span> <span class="moddateby">(2007-10-16 Doug K.)</span><br /> Discovered two ivars pointing to field handler lookup object (ioLookupHandler &amp;amp; ioFieldHandlerLookupTypeAhead) Removed the ioFieldHandlerLookupTypeAhead.</p> <p><span class="code">oFieldHandlerLookupTypeAhead/event_evAfter</span> <span class="moddateby">(2007-10-16 Doug K.)</span><br /> Discard the evAfter event if the next event is evOK and the lookup list window is visible.</p> <p><span class="code">oFieldHandlerLookupTypeAhead/selectfetchMasterListRecords</span> <span class="moddateby">(2007-10-22 Doug K.)</span><br /> Set ibHasActiveCol to kFalse and ibShowInactiveRecords to kTrue for refs lookups since those columns do not apply to refs lookups. This fixes a problem where using a refs lookup field fails after you use a normal lookup field on the same window.</p> <p><span class="code">oMenus/$buildLists</span> <span class="moddateby">(2007-11-08 Doug K.)</span><br /> Remove any window menu lines where the menulineid is empty.</p> <p><span class="code">oMenus/$buildLists</span> <span class="moddateby">(2007-11-08 Doug K.)</span><br /> Moved sorting to separate methods which can be called by other methods as well.</p> <p><span class="code">oMenus/$deleteWinMenuLinesListRow</span> <span class="moddateby">(2007-11-12 Doug K.)</span><br /> Added method to delete a row in the window menu lines list.</p> <p><span class="code">oMenus/$recalcLanguageTextAndIcons</span> <span class="moddateby">(2007-11-08 Doug K.)</span><br /> Recalculate the iconid for each line by sending a $retWinIconID message to oWindows. Allows for dynamic icon updates.</p> <p><span class="code">oMenus/$recalcLanguageTextAndIcons</span> <span class="moddateby">(2007-11-13 Doug K.)</span><br /> Add exceptions for setting the menulinetext value plus set the menu line iconid.</p> <p><span class="code">oMenus/$retWindowMenuLinesList</span> <span class="moddateby">(2007-11-12 Doug K.)</span><br /> Remove any empty menulineid rows from the list before returning it.</p> <p><span class="code">oMenus/$saveNavMenuLinesList</span> <span class="moddateby">(2007-10-16 Doug K.)</span><br /> Modified the method to handle an empty nav list for a home library so that the stored list can be cleared.</p> <p><span class="code">oMenus/$saveWinMenuLinesList</span> <span class="moddateby">(2007-11-08 Doug K.)</span><br /> Added method to save an oMenusList window menus lines list to its object, update and save the cached master list.</p> <p><span class="code">oMenus/$updateWinMenuLinesListRow</span> <span class="moddateby">(2007-11-12 Doug K.)</span><br /> Added method to update a row in the window menu lines list.</p> <p><span class="code">oMenus/recalcMenuLineTextAndIconID</span> <span class="moddateby">(2007-11-13 Doug K.)</span><br /> Added method to set the menulinetext and iconid, so that the method can be called by $recalcLanguageTextIcons and $saveWinMenuLinesList.</p> <p><span class="code">oMenusList_abstract/$#About</span> <span class="moddateby">(2007-11-09 Doug K.)</span><br /> Added columns to the sMenuLinesWin_listdef (objectlibname,objectclassname,menulibname,menuclassname,iconid)</p> <p><span class="code">oMenusList_abstract/$:NavigationMenuLinesList</span> <span class="moddateby">(2007-10-10 Doug K.)</span><br /> Ignoring the $addNavigationMenuLines method is a bit of a problem. Reworked the code to use the method.</p> <p><span class="code">oMenusList_abstract/$:WindowMenuLinesList</span> <span class="moddateby">(2007-11-08 Doug K.)</span><br /> Modified the method to work with a window menus list save to the $userinfo property of subclass objects.</p> <p><span class="code">oMenusList_abstract/$:WindowMenuLinesList</span> <span class="moddateby">(2007-11-23 Doug K.)</span><br /> Added code to put the code based menu lines after the saved list menu lines.</p> <p><span class="code">oMenusList_abstract/$_addReportsMenuLine</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Default rObjectClass to #NULL. Add parameter to receive reference to the observer object class.</p> <p><span class="code">oMenusList_abstract/$retNavMenuLinesList</span> <span class="moddateby">(2007-10-26 Doug K.)</span><br /> If the library name is changed, the homelibname needs to be updated for all the nav menu lines. Mass update the nav menu lines list to set the homelibname to the current instance class library.</p> <p><span class="code">oMenusList_abstract/addMenuLineToMenusStringTable</span> <span class="moddateby">(2007-11-09 Doug K.)</span><br /> Update the string tables cached list if a new line is added to the sMn_stb schema class.</p> <p><span class="code">oMenusList_abstract/addMenuLineToMenusStringTable</span> <span class="moddateby">(2007-11-16 Doug K.)</span><br /> Check to see if we can modify the class (VCS) and skip if we can't.</p> <p><span class="code">oMenusList_abstract/addReportsMenuObjectsAndMethods</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Pass a reference to the observer object class back to the sender via pfRetObserverClassRef. Complete refactor of the method. Moved finding the object classes and setting booleans to the beginning of the method.</p> <p><span class="code">oMenusList_abstract/setExtraProperties_WinMenuLinesList</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Add parameter to receive reference to the observer object class.</p> <p><span class="code">oPromptModeless/$promptColor</span> <span class="moddateby">(2007-10-11 Doug K.)</span><br /> Added method for opening the prompt color window.</p> <p><span class="code">oPromptModeless/$promptDelete</span> <span class="moddateby">(2007-11-07 Doug K.)</span><br /> Added optional parameter pTitle_opt in case the sender wishes to specify the title.</p> <p><span class="code">oPromptModeless/$promptDelete</span> <span class="moddateby">(2007-11-12 Doug K.)</span><br /> Added optional parameter pCSVButtonStbIDsLeftToRight_opt in case the sender wishes to specify the button names.</p> <p><span class="code">oPromptModeless/$promptInputVars</span> <span class="moddateby">(2007-11-06 Doug K.)</span><br /> Added method to simplify doing a modeless prompt for inputs to a single call to oModelessPrompts.</p> <p><span class="code">oPromptModeless/$retParamsRow_promptDelete</span> <span class="moddateby">(2007-11-07 Doug K.)</span><br /> Added optional parameter pTitle_opt in case the sender wishes to specify the title.</p> <p><span class="code">oPrompts/$promptColor</span> <span class="moddateby">(2007-10-11 Doug K.)</span><br /> Added method for opening the prompt color window.</p> <p><span class="code">oPrompts/$promptInputVars</span> <span class="moddateby">(2007-10-09 Doug K.)</span><br /> Added parameters for inputs 5-9 extending the possible input variables from limit of 4 to 9.</p> <p><span class="code">oTabPaneController/$#About</span> <span class="moddateby">(2007-11-06 Doug K.)</span><br /> Created a controller object which can be used to construct a tab pane object on-the-fly. Each tab's subwindow field is added when the user selects the tab.</p> <p><span class="code">oWindows/$openWindow</span> <span class="moddateby">(2007-10-16 Doug K.)</span><br /> Test 'openinshell' for null and default it to true if null.</p> <p><span class="code">oWindows/$retWinClassRef</span> <span class="moddateby">(2007-10-30 Doug K.)</span><br /> If the developer window class can't be found and the wintype is 'list,edit,editnew, or new' then use the appropriate default class.</p> <p><span class="code">oWindows/$retWinIconID</span> <span class="moddateby">(2007-11-08 Doug K.)</span><br /> Added method which returns the IconID for a specified wininstid. Optional parameter pbRebuild refetches the icon from oIcons and sets iconid in the windows list.</p> <p><span class="code">oWindows/$retWindowInstancesList</span> <span class="moddateby">(2007-10-24 Doug K.)</span><br /> Remove any window instances that are not from the correct homelibname. This happens if you rename the library.</p> <p><span class="code">oWindows/$retWindowInstancesList</span> <span class="moddateby">(2007-11-08 Doug K.)</span><br /> Added calls to setWinTypesInList and setExtraValuesInWinInstsList before merging into the master list.</p> <p><span class="code">oWindows/$saveWindowInstancesList</span> <span class="moddateby">(2007-11-08 Doug K.)</span><br /> Added call to setWinTypesInList before saving and then merging into the master list.</p> <p><span class="code">oWindows/setExtraValuesInWinInstsList</span> <span class="moddateby">(2007-10-22 Doug K per Chuck M)</span><br /> Bug fix. The toolbarcmndscsv and enabledcmndscsv was being incorrectly calculated.</p> <p><span class="code">oWindows/setExtraValuesInWinInstsList</span> <span class="moddateby">(2007-11-08 Doug K.)</span><br /> Set the iconid in each line of the windows list.</p> <p><span class="code">oWindowsList_abstract/$:WindowInstancesList</span> <span class="moddateby">(2007-10-31 Doug K.)</span><br /> Modifed the method to use the 'isdefaultwininstid' property so that code based default window instances always overwrite certain properties.</p> <p><span class="code">oWindowsList_abstract/$_addDefaultWinInstIDsForSchemasInLib</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> Modify the method to dynamically build its own schema class list, thereby negating the need to rebuild the SQL lists before running this method.</p> <p><span class="code">oWindowsList_abstract/$retWindowInstancesList</span> <span class="moddateby">(2007-10-26 Doug K.)</span><br /> If the library name is changed, the homelibname needs to be updated for all the window instance. Mass update the window instances list to set the homelibname to the current instance class library.</p> <p><span class="code">oWindowsList_abstract/addDefaultWinInstID</span> <span class="moddateby">(2007-10-30 Doug K.)</span><br /> Added a column, isdefaultwininstid, and set it to kTrue for all default window instances generated from schema classes. Various properties of default WinInstIDs can not be modified by the developer so that they can remain dynamic. (wininstid, wintype, sqlclassname, devlibname, devclassname, openinshell, iconid, homelibname)</p> <p><span class="code">owcWindowMenusListEditor/$#About</span> <span class="moddateby">(2007-11-05 Doug K.)</span><br /> Added icons list editor window controller object for wIconsListEditor window class.</p> <p><span class="code">owcWindowMenusListEditor/$:CurrClassRef</span> <span class="moddateby">(2007-11-15 Doug K.)</span><br /> The current class reference will be the oMenusList class in the current home library.</p> <p><span class="code">owcWindowMenusListEditor/$addMenuLine</span> <span class="moddateby">(2007-11-22 Doug K.)</span><br /> Fixed problem where right-click Add Menu Line on a menu node was messing up the treelist.</p> <p><span class="code">owcWindowMenusListEditor/$canModifyCurrClass</span> <span class="moddateby">(2007-11-15 Doug K.)</span><br /> Move/modify the $canModifyClass method to oFunctions and call it there.</p> <p><span class="code">owcWindowMenusListEditor/$initialize</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Removed iWindowsList and related code as it is no longer used.</p> <p><span class="code">owcWindowMenusListEditor/$initialize</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Removed iMenuIDsList from Window Controller Object.</p> <p><span class="code">owcWindowMenusListEditor/addChildNodes_level2</span> <span class="moddateby">(2007-11-15 Doug K per Josh L)</span><br /> Use the winistid rather than the window title for the node names to avoid the problem of mutliple instances using the same translated name.</p> <p><span class="code">owcWindowMenusListEditor/addChildNodes_level3</span> <span class="moddateby">(2007-11-16 Doug K.)</span><br /> Set the libname and classname properties for the menu and object if they have not been set.</p> <p><span class="code">owcWindowMenusListEditor/addChildNodes_level4</span> <span class="moddateby">(2007-11-16 Doug K.)</span><br /> Set the libname and classname properties for the menu and object if they have not been set.</p> <p><span class="code">owcWindowMenusListEditor/eventDroplist_evClick</span> <span class="moddateby">(2007-11-14 Doug K.)</span><br /> If the user changes the menulibname or objectlibname check only clear the classname if a matching class can't be found.</p> <p><span class="code">owcWindowMenusListEditor/eventEntry_evAfter</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Test for valid calcuation before doing the eval() to avoid error message.</p> <p><span class="code">owcWindowMenusListEditor/eventTreelist_evDrop</span> <span class="moddateby">(2007-11-14 Doug K.)</span><br /> Also set the homelibname, menulibname, and menuclassname to match the parent node when moving window menu lines.</p> <p><span class="code">owcWindowMenusListEditor/setCurrNodeUsingClassVars</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Removed the code which defaulted to expanding the first root node. No need to waste time doing this.</p> <p><span class="code">owcWindowMenusListEditor/setDisplayFields</span> <span class="moddateby">(2007-11-16 Doug K.)</span><br /> Added VCS warning if the observer object is not checked out.</p> <p><span class="code">wBase_ToolbarTitlebar_abstract/$_constructEnabledCmndsCSV</span> <span class="moddateby">(2007-10-30 Doug K.)</span><br /> Use ivar iWinInstID instead of lvar WinInstID in the method. Check iList.$BaseSchema with $cando before sending the message and len(BaseSchema) for checking security.</p> <p><span class="code">wBase_abstract/$_retActiveCmndsList_winslist</span> <span class="moddateby">(2007-10-10 Doug K.)</span><br /> Hitting stacklimit on 'If $cinst.$:Modified', change to 'If ibModified'</p> <p><span class="code">wContainer_Edit_Edit_abstract/$:ToolbarCmndsCSV</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Modify the method so that is uses the new window instances toolbarcmndscsv property.</p> <p><span class="code">wContainer_abstract/$:ToolbarCmndsCSV</span> <span class="moddateby">(2007-11-27 Doug K.)</span><br /> Modified the method so that is uses the new window instances toolbarcmndscsv property.</p> <p><span class="code">wContainer_abstract/$doCmnd</span> <span class="moddateby">(2007-11-14 Doug K.)</span><br /> Include the parameter pCmnd &amp;amp; pShift when forwarding the message to the $cinst so that $new exception will work properly.</p> <p><span class="code">wContainer_abstract/$new</span> <span class="moddateby">(2007-11-14 Doug K.)</span><br /> Added $new method which default to redirecting the message to the current subwindow $doCmnd('New'). This is done to work around the problem that $doCmnd send a $new method to the $cinst even if a $new method doesn't exist.</p> <p><span class="code">wHeadedList_autoconfig/$event</span> <span class="moddateby">(2007-10-22 Doug K.)</span><br /> Added evHScrolled to the events which cause the totals to be resized.</p> <p><span class="code">wHeadedList_autoconfig/resizeTotals</span> <span class="moddateby">(2007-10-22 Doug K per Chuck M.)</span><br /> Check the $columnsvisible property for any hidden columns when calculating and setting the totals fields. Check the $hscroll value and adjust the totals fields positions accordingly.</p> <p><span class="code">wHeadedList_autoconfig/setTotals</span> <span class="moddateby">(2007-10-22 Doug K.)</span><br /> Remove duplicate code and call the 'resizeTotals' method instead.</p> <p><span class="code">wList_abstract/$_retActiveCmndsList</span> <span class="moddateby">(2007-11-19 Doug K per Chuck M)</span><br /> Bug fix. Changed 'SQLClassName' to 'iSQLClassName' and deleted local variable 'SQLClassName'.</p> <p><span class="code">wList_autoconfig/$toggleActiveInactiveForSelectedLines</span> <span class="moddateby">(2007-10-22 Doug K.)</span><br /> Send a $refreshList message to the list object subwindow in order to update totals fields.</p> <p><span class="code">wMainWindow/$rebuildNavTreelist</span> <span class="moddateby">(2007-11-21 Doug K per Jim Creak.)</span><br /> Added method so that the treelist can be rebuilt when the Nav list has been modified.</p> <p><span class="code">wNav_Treelist/$rebuildTreelist</span> <span class="moddateby">(2007-11-21 Doug K per Jim Creak.)</span><br /> Added method so that the treelist can be rebuilt when the Nav list has been modified.</p> <p><span class="code">wNavigationListEditor/event_evDrop</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Save the nav list after it is reordered and renumbered.</p> <p><span class="code">wNavigationListEditor/newMenuLine</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> If the homelibname is empty, default to the window instance's homelibname.</p> <p><span class="code">wNavigationListEditor/saveNavList</span> <span class="moddateby">(2007-10-16 Doug K.)</span><br /> Remove 'If TempList.$linecount&gt;0' because all of the nav menu lines may have been deleted for a library, so we need to overwrite the old saved list.</p> <p><span class="code">wNavigationListEditor/saveNavList</span> <span class="moddateby">(2007-11-21 Doug K per Jim Creak)</span><br /> Added code to send a $rebuildNavTreelist message to any main window instances which are open.</p> <p><span class="code">wPromptColor/$#About</span> <span class="moddateby">(2007-10-11 Doug K.)</span><br /> Added wPromptColor color picker window class created by Chuck Martin.</p> <p><span class="code">wPromptModelessShell/$event_ButtonPressed</span> <span class="moddateby">(2007-11-06 Doug K.)</span><br /> Added code to handle if the callback observer is an object reference datatype. Requires a little more work to find the instance and send the message.</p> <p><span class="code">wSearchbar/$event</span> <span class="moddateby">(2007-10-19 Doug K.)</span><br /> Discard kReturn and kEnter key events to avoid triggering the default evOK or evCancel.</p> <p><span class="code">wSearchbar/$event</span> <span class="moddateby">(2007-10-19 Doug K.)</span><br /> Discard kReturn and kEnter key events to avoid triggering the default evOK or evCancel.</p> <p><span class="code">wSearchbar/$event</span> <span class="moddateby">(2007-10-19 Doug K.)</span><br /> Discard kReturn and kEnter key events to avoid triggering the default evOK or evCancel.</p> <p><span class="code">wSearchbar/$event</span> <span class="moddateby">(2007-10-19 Doug K.)</span><br /> Discard kReturn and kEnter key events to avoid triggering the default evOK or evCancel.</p> <p><span class="code">wShell/$#About wShell</span> <span class="moddateby">(2007-11-16 Doug K.)</span><br /> Added code to the $event method to disable the mCommands menu for the $ctask when this window is on top.</p> <p><span class="code">wSignIn/constructSetLanguagesList</span> <span class="moddateby">(2007-11-01 Doug K.)</span><br /> Make the languages droplist inactive if there are 1 or less languages availble to select.</p> <p><span class="code">wSignIn_20071124/constructSetLanguagesList</span> <span class="moddateby">(2007-11-01 Doug K.)</span><br /> Make the languages droplist inactive if there are 1 or less languages availble to select.</p> <p><span class="code">wWindowInstancesListEditor/$#About</span> <span class="moddateby">(2007-10-22 Doug K per Josh L)</span><br /> Bug fix. Changed field name &amp;amp; dataname from 'modesactivecsv' to 'activemodescsv'</p> <p><span class="code">wWindowInstancesListEditor/$control</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Moved the $control method to from the centre container methods to the class methods because some nested field were skipping the centre container $control method.</p> <p><span class="code">wWindowInstancesListEditor/buildTreelist</span> <span class="moddateby">(2007-11-19 Doug K.)</span><br /> Removed the code which defaulted to expanding the first root node. No need to waste time doing this.</p> <p><span class="code">wWindowInstancesListEditor/setEditFields</span> <span class="moddateby">(2007-10-31 Doug K.)</span><br /> Enable/disable the default wininstid fields.</p> <span class="code">wWindowInstancesListEditor/setEditFields</span> <span class="moddateby">(2007-11-02 Doug K.)</span><br /> If the window instance's sqlclassname is not found in the iSQLClassesList dynamically find and add it to oSQLLists and the iSQLClassesList. This negates the need for rebuild SQL lists before using the window instances editor. <a name="swicons4" /> <h3>swIcons4</h3> <span class="code">wIconBrowser/$copyIconFullNameToClipboard</span> <span class="moddateby">(2007-11-05 Doug K.)</span><br /> Added context menu line and method to copy the icon full name to the clipboard to make it easier for developers to enter icons names. <a name="swrefs4" /> <h3>swRefs4</h3> <span class="code">oRefs/$saveStringTablesList</span> <span class="moddateby">(2007-10-14 Doug K.)</span><br /> Make sure the string table record is inserted by copying the line to a row var and then inserting the row. <a name="swreports4" /> <h3>swReports4</h3> <p><span class="code">oReportBuilder/addFieldsAndLabels</span> <span class="moddateby">(2007-10-11 Josh L.)</span><br /> Removed duplicated code checking for Include in lists and hidden columns (also in oReportProperties.$retColsPropertiesList)</p> <span class="code">oReportProperties/$retColsPropertiesList</span> <span class="moddateby">(2007-10-11 Josh L.)</span><br /> Get all the columns when the metadata is not defined. <a name="swweb4" /> <h3>swWeb4</h3> No modifications <p class="footer">StudioWorks Documentation - Copyright 2005 Vencor Software </p></div> </body> </html>