Sw4   >   About   >   Version 2007-11-30
The following is a summary of the changes included in this release.
This release includes a series of terrific additions to the window which has now become command central for StudioWorks development. With this release if you make any changes using the the cached lists are dynamically updated. As long as you make changes which affect cached lists using the window you rarely have to rebuild lists!!
The following is a list of the new StudioWorks programmer tools and tools enhancements included with this release.
The following is a list of other significant modifications included with this release:
To update to this new release:
I came to the realization that the 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 menu defaulted to being disabled for developers. There is no reason to do this so I changed them to default to being enabled. If there is an mCommands menu class in your main library and it is not subclassed from swGui4 and you want your menu shortcut keys to default to being enabled for developers you can either delete the mCommands menu from your main library or:

As a long time Mac user I have always used Cmnd+. (period character) as the shortcut for the button in dialog windows. I just recently discovered the key does the same thing. Doh! Was the key on the original Mac classic keyboards?
mProgrammer/$#About (2007-11-01 Doug K.)
Deleted the menu item, Create/Update Default Schemas... The menu item is no longer used.
oDBAdmin/$#About (2007-11-23 Doug K.)
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.
oDBAdmin/$#About (2007-11-24 Doug K.)
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.
oDBAdmin/$#Bridge Design Pattern - Bridge (2007-11-23 Doug K.)
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.
oDBAdminMethods_FRONTBASE/$_setUserDefaultSchema (2007-11-23 Doug K.)
Renamed to be a protected method.
oDBAdminMethods_FRONTBASE/$grantAllPrivilegesToUser (2007-11-23 Doug K.)
Renamed to protected method to avoid messing up sessions.
oDBAdminMethods_FRONTBASE/$retDAMIndexesList (2007-11-23 Doug K.)
Renamed to protected method to avoid messing up sessions.
oDBAdminMethods_FRONTBASE/$retForeignKeysList (2007-11-23 Doug K.)
Renamed to protected method so that sessions won't be affected.
oDBAdminMethods_FRONTBASE/$retUsersList (2007-11-23 Doug K.)
Renamed to be a protected method.
oDBAdminMethods_OMNIS/$syncDatabaseTablesToSchemas (2007-11-22 Doug K.)
Added audit for SQL reserved words to the method. Was missed because the superclass method had been overridden.
oDBAdminMethods_OMNIS/$syncDatabaseTablesToSchemas (2007-11-23 Doug K.)
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.
oDBAdminMethods_POSTGRESQL/$_retNextPrimaryKey (2007-11-21 Doug K.)
Overrode method for PostgreSQL
oDBAdminMethods_POSTGRESQL/$_syncNulls (2007-11-23 Doug K.)
Override $_syncNulls for PostgreSQL as it doesn't enforce NOT NULL as 'CHECK constraints'
oDBAdminMethods_POSTGRESQL/$retDAMIndexesList (2007-11-20 Doug K.)
Remove early exit.
oDBAdminMethods_POSTGRESQL/$retForeignKeysList (2007-11-21 Doug K.)
Custom method written to build the foreign keys list for PostgreSQL.
oDBAdminMethods_POSTGRESQL/$retForeignKeysList (2007-11-23 Doug K.)
Renamed to protected method so that sessions won't be affected.
oDBAdminMethods_POSTGRESQL/$setPrimaryKeyCounterValue (2007-11-21 Doug K.)
Overrode method for PostgreSQL
oDBAdminMethods_SQLSERVER/$_retNextPrimaryKey (2007-11-23 Doug K.)
Renamed method from $retNextPrimaryKey to $_retNextPrimaryKey. The method is NOT supposed to be protected, not public.
oDBAdminMethods_abstract/$#About (2007-11-23 Doug K.)
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.
oDBAdminMethods_abstract/$#About (2007-11-24 Doug K.)
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.
oDBAdminMethods_abstract/$#Bridge Design Pattern - Implementor (2007-11-23 Doug K.)
Clarified the role of this object to be an 'Implementor' object in the 'Bridge Pattern'. The oDBAmin object is the bridge.
oDBAdminMethods_abstract/$_logSQLError (2007-11-21 Doug K.)
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.
oDBAdminMethods_abstract/$_retNextPrimaryKey (2007-11-22 Doug K.)
Modified the method to use oRefs if the "$retSQL_SelectPrimaryKeyCounterValue" returns empty.
oDBAdminMethods_abstract/$_retNextPrimaryKey (2007-11-23 Doug K.)
Renamed method from $retNextPrimaryKey to $_retNextPrimaryKey. The method is NOT supposed to be protected, not public.
oDBAdminMethods_abstract/$_syncCollations (2007-11-23 Doug K.)
Only attempt to execute SQLText if a value is returned from '$retSQL_AddCaseInsensitiveCollation'. To date FrontBase is the only one that does this.
oDBAdminMethods_abstract/$_syncTableAndColumns (2007-11-20 Doug K.)
Add low() function to do case-insensitive comparison of the datatypes.
oDBAdminMethods_abstract/$_syncTableAndColumns (2007-11-21 Doug K.)
Added exception for SQLDataType 'TEXT'. In PostgreSQL there is no 'length' returned for TEXT datatypes.
oDBAdminMethods_abstract/$_syncTableAndColumns (2007-11-23 Doug K.)
Use the 'OmnisDataType' from the DAMColsList rather than the SQLDataType for checking matching data types.
oDBAdminMethods_abstract/$auditSchemaForReservedWords (2007-11-22 Doug K.)
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.
oDBAdminMethods_abstract/$clearLogs (2007-11-24 Doug K.)
Renamed $_clearLogs to $clearLogs. This method is now only called by the bridge, not the implementors.
oDBAdminMethods_abstract/$closeSession_Superuser (2007-11-23 Doug K.)
Created a protected method to close the superuser session.
oDBAdminMethods_abstract/$closeSession_TablesOwner (2007-11-23 Doug K.)
Created a protected method to close the tables owner session.
oDBAdminMethods_abstract/$copyData (2007-11-23 Doug K.)
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.
oDBAdminMethods_abstract/$insertEmptyRecords (2007-10-16 Doug K.)
Don't insert zero pkey record if it is a control table.
oDBAdminMethods_abstract/$insertEmptyRecords (2007-10-24 Doug K per Mike M.)
Bug fix. Change ColsList.controltable to SchemasList.controltable.
oDBAdminMethods_abstract/$openSession_Superuser (2007-11-23 Doug K.)
Created a protected method to open a session as the superuser.
oDBAdminMethods_abstract/$openSession_TablesOwner (2007-11-23 Doug K.)
Created a protected method to open a session as the tables owner.
oDBAdminMethods_abstract/$retDAMColsList (2007-11-23 Doug K.)
Added protected method so that other method can call it without affecting the sessions (as would happen if the public method was called)
oDBAdminMethods_abstract/$retDAMIndexesList (2007-11-20 Doug K.)
Remove early exit.
oDBAdminMethods_abstract/$retPrimaryKeysList (2007-11-22 Doug K.)
Remove the If DBSetPkey code, always call the $_retNextPrimaryKey method to get the next pkey.
oDBAdminMethods_abstract/$retPrimaryKeysList (2007-11-23 Doug K.)
Only include tables which are in the database.
oDBAdminMethods_abstract/$retUsersList (2007-11-23 Doug K.)
Moved the method to a protected method and call the protected method.
oDBAdminMethods_abstract/$setPrimaryKeyCounterValue (2007-11-22 Doug K.)
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.
oDBAdminMethods_abstract/$setPrimaryKeyCounterValue (2007-11-23 Doug K.)
Rename this method to be a protected method so that it can be called without affecting open sessions.
oDBAdminMethods_abstract/syncDatabaseTablesToSchemas (2007-11-23 Doug K.)
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.
oDBAdminSQLReservedWords/$:SQLReservedWordsList (2007-10-22 Doug K.)
Load the SQL reserved words from the $userinfo property of the object if the linecount is zero.
oDBAdminSQLText_POSTGRESQL/$#About (2007-10-19 Doug K.)
Added new subclass for PostgreSQL DAM.
oDBAdminSQLText_POSTGRESQL/$retSQL_AddCheck_notNull (2007-11-21 Doug K.)
Override SQL text for NOT NULL for PostgreSQL.
oDBAdminSQLText_abstract/$retSQL_SQLDataType (2007-11-20 Doug K.)
Remove the NOT NULL constraint if it exists. For some RDBMSs the NOT NULL constraint is added but it messes up datatype comparisons.
oErrorHandler/$#About (2007-10-24 Doug K.)
Reduced the methodstack column length from 10 million characters to 10000 characters in sErrorlog.
oFunctions/$canModifyClass (2007-11-15 Doug K.)
Added code tool method to oFunctions. The method returns false if a class can not be modified due to VCS settings.
oFunctions/$dragdropmoveLinesInList (2007-10-19 Doug K.)
Added GUI function which handles drag and drop on a list to move lines within a list.
oFunctions/$retAlphaNumeric (2007-11-13 Doug K.)
Added optional parameter pSpecialCharsAllowed, so that the sender can specify special characters to be allowed. e.g. _ underscore
oFunctions/$weekOfYear (2007-11-16 Josh L.)
Created this method because dpart(kweek,...) made some assumptions that didn't work with our application of the method.
oIcons/$deleteIcon (2007-11-05 Doug K.)
Added method to allow dynamic updates of the icons list.
oIcons/$retIconID (2007-11-05 Doug K.)
Modified the method so that if the pIconName includes the icon group, the icon group is parsed from the icon name.
oIcons/$setIcon (2007-11-05 Doug K.)
Added method to allow dynamic updates of the icons list.
oLogon/$:DBSETPRIMARYKEY (2007-11-27 Doug K.)
Deprecated the dbsetprimarykey property method.
oLogon/$:DBSETPRIMARYKEY.$assign (2007-11-27 Doug K.)
Deprecated the dbsetprimarykey property method.
oLogon/$_SETDBSETPRIMARYKEYPROPERTY (2007-11-27 Doug K.)
Deprecated the $_setDBSetPrimaryKey property method.
oLogonMethods/$logon (2007-11-27 Doug K.)
Removed the code which called the superclass $_setDBsetPrimaryKeyProperty method.
oLogonMethods_FRONTBASEDAM/$logon (2007-11-27 Doug K.)
Removed the code which called the superclass $_setDBsetPrimaryKeyProperty method.
oLogonMethods_MYSQLDAM/$logon (2007-11-27 Doug K.)
Removed the code which called the superclass $_setDBsetPrimaryKeyProperty method.
oLogonMethods_OMSQLDAM/$logon (2007-11-27 Doug K.)
Removed the code which called the superclass $_setDBsetPrimaryKeyProperty method.
oLogonMethods_OMSQLDAM/$logon (2007-11-27 Doug K.)
Removed the code which called the superclass $_setDBsetPrimaryKeyProperty method.
oLogonMethods_PGSQLDAM/$#About (2007-10-19 Doug K.)
Added new subclass for PostgreSQL DAM.
oLogonMethods_PGSQLDAM/$logon (2007-11-20 Doug K.)
Override the superclass method and set the $database property before attempting to logon.
oLogonMethods_PGSQLDAM/$logon (2007-11-27 Doug K.)
Removed the code which called the superclass $_setDBsetPrimaryKeyProperty method.
oPaths/$:PathUserPreferencesFolder (2007-10-12 Doug K.)
Bug fix. Changed 'len(FolderName)=-' to 'len(FolderName)=0'
oPrepareNewDatabase/$prepareNewDatabase (2007-11-24 Doug K.)
Use $findClass to find the oDBAdmin object in case it has been subclassed to the main library.
oRebuildCachedLists/$buildRuntimeWindows (2007-10-11 Doug K.)
Reduce the method to just do what is advertises. Prior to calling this method you must first rebuild all cached lists.
oRebuildCachedLists/$rebuildAllCachedLists (2007-10-11 Doug K.)
Added parameter pRebuildLibsList_opt and then pass it to each of the applicable methods. Do not load string tables in this method.
oRebuildCachedLists/$rebuildRefs (2007-10-11 Doug K.)
Added method to just rebuild the refs object. Removed the $rebuildSQLListsAnRefs method.
oRebuildCachedLists/$reloadStringTables (2007-10-11 Doug K.)
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.
oRebuildCachedLists/$saveSharedAppPrefs (2007-10-11 Doug K.)
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.
oRebuildCachedLists/$saveSharedAppPrefs (2007-11-27 Doug K per Josh L.)
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.
oSQLLists/$rebuildSQLClassInfo (2007-11-02 Doug K.)
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.
oSQLLists/$removeForeignKey (2007-11-03 Doug K.)
Added method to allow foreign keys to be dynamically removed.
oSQLLists/$removeSQLClass (2007-11-02 Doug K.)
Added method for remove a SQL class from the master list to allow dynamic updates.
oSQLLists/$renameSQLClass (2007-11-02 Doug K.)
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.
oSQLLists/$retDefinedList (2007-11-27 Doug K.)
Removed all code dealing with dbsetprimarykey. This will now be the RDBMS if it supports it properly.
oSQLLists/$setForeignKey (2007-11-03 Doug K.)
Added method to allow foreign keys to be dynamically added/updated.
oSQLLists/$setTableSessionRow (2007-11-27 Doug K.)
Removed the code that set the 'dbsetprimarykey' value.
oSQLLists/_calcClassMetaDataListRow_kQuery (2007-10-23 Doug K.)
Check to make sure a column is found in the query class before proceeding. The query class might be empty.
oSQLLists/_calcClassMetaDataListRow_kQuery (2007-11-14 Doug K.)
Check to make sure that both the baseschema and basetable are set.
oSQLLists/_calcClassMetaDataListRow_kSchema (2007-11-02 Doug K.)
Set the labelsingular and labelplural if they are empty.
oSQLLists/buildClassInfo (2007-10-23 Doug K.)
Remove any rows where the sqlclassname is empty.
oSQLLists/buildClassInfoForCurrLine (2007-11-02 Doug K.)
Added checking for class reference and log error if a problem.
oSQLLists/buildForeignKeysList (2007-11-02 Doug K.)
Simplified the foreign keys list definition to just the very basic columns needed.
oSQLLists/buildForeignKeysList (2007-11-27 Doug K.)
Added 'schemalibname' column to the foreign keys list so that specific libraries can be updated in the cached list.
oSQLLists/getPrimaryKeyColNamesForCurrLine (2007-11-22 Doug K.)
Clear the return values if a pkey was not found.
oSQLLists/retDatabaseQueriesSchemasViewsList (2007-11-06 Doug K.)
Search and remove empty sqlclassname rows.
oSQLLists/retDatabaseSchemasAndViewsList (2007-11-06 Doug K.)
Search and remove empty sqlclassname rows.
oSQLLists/retDatabaseSchemasList (2007-11-06 Doug K.)
Search and remove empty sqlclassname rows.
oSQLTextJoinTables/$#About (2007-10-18 Doug K.)
New tools object for general SQL methods.
oSQLTextJoinTables/$retJoinTablesText (2007-10-30 Doug K.)
Add kCr between each AND in the extraquerytext to make it easier to read and edit.
oSecurity/$#About (2007-11-21 Doug K.)
Changed the 'userid' column of sSecurityUsers_listdef from 10 character to 50 characters.
oSecurity/$saveUserPasswordInfoRow (2007-11-24 Doug K.)
Use $findClass to find the 'oDBAdmin' object in case it is subclassed to the main library.
oSessionsManager/$:DefaultSessionRow_FRONTBASEDAM (2007-11-27 Doug K.)
Removed code that set the dbsetprimarykey value.
oSessionsManager/$:DefaultSessionRow_PGSQLDAM (2007-10-19 Doug K)
Added default initial statement for PGSQLDAM.
oSessionsManager/$retVendorsList (2007-10-19 Doug K.)
Added PostgreSQL to the list of vendors.
oStartupTaskDefaultMethods/$_setDefaultsAndPrefs (2007-10-10 Doug K.)
Increase minimum stacklimit from 14 to 25. Hitting the stacklimit on autosignin for a web app.
oStartupTaskDefaultMethods/$_setDefaultsAndPrefs (2007-10-11 Doug K per Birger R.)
Renamed the method from a private method to a protected method.
oStartupTaskDefaultMethods/$_setReportDefaults (2007-10-11 Doug K per Birger R.)
Renamed the method from a private method to a protected method.
oStartupTaskDefaultMethods/$constructMethod (2007-10-11 Doug K per Birger R.)
Changed call to setDefaultsAndPrefs to renamed method $_setDefaultsAndPrefs. Changed call to setReportDefaults to renamed method $_setReportDefaults.
oStartupTaskDefaultMethods/$destructMethod (2007-11-05 Doug K.)
Added call to 'saveCachedLists' for developer version of Omnis Studio, so that all dynamic updates to cached lists are saved on closing the app.
oStartupTaskDefaultMethods/saveCachedLists (2007-11-05 Doug K.)
Added method 'saveCachedLists' so that all dynamic updates to cached lists are saved on closing the app.
oStartupTaskVarsTool/$setTaskVarPropertiesAfterSignIn (2007-11-27 Doug K.)
Removed the code that dealt with dbsetprimarykey
oStartupTaskVarsTool/checkandrebuildListsIfReqd (2007-11-01 Doug K.)
Comment out oRebuildAppPrefs.$saveAppPrefs line. The method is obsolete as caches lists are immediately saved when they are rebuilt.
oStringTables/$:StringTablesMasterList.$assign (2007-10-14 Doug K.)
Added property assign method to allow the string table editor to update the master list.
oStringTables/$loadStringTables (2007-11-02 Doug K.)
Move $sort to a private method and call the method.
oStringTables/$removeLanguage (2007-11-13 Doug K.)
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.
oStringTables/$removeLine (2007-11-02 Doug K.)
Added method to oStringTable to remove a line from the master list so that dynamic updates can be done.
oStringTables/$setTextTooltipAbbrev (2007-11-02 Doug K.)
Added method to oStringTable to add/update an item in the master list so that dynamic updates can be done.
oStringTables/$updateMasterList (2007-10-14 Doug K.)
Added method to allow the string tables editor to dynamically update the string tables master list.
oStringTables/_loadSchemas_stb (2007-10-14 Doug K.)
Add trim() to strtok() to remove any leading and trailing spaces.
oStringTables/_retDefinedStbList (2007-11-01 Doug K.)
If the base language has not been defined, set it to the current language column name.
oStringTables/loadStringTablesFromDatabase (2007-11-01 Doug K.)
Check for linecount in the stbList before merging into the masterlist.
oStringTables/loadStringTablesFromTextFile (2007-11-01 Doug K.)
Check for linecount in the stbList before merging into the masterlist.
oTableMethods/$doinsertsBatch (2007-10-18 Doug K.)
Use local variable counter instead of List.$line for loop. Slightly better performance. Redraw working message every 100 vs. 5
oTableMethods_POSTGRESQL/$#About (2007-10-19 Doug K.)
Added new subclass for PostgreSQL DAM.
oTableMethods_POSTGRESQL/$checkfixSQLText_LIKE (2007-11-21 Doug K.)
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.
oTableMethods_POSTGRESQL/$retNextPrimaryKey (2007-11-21 Doug K.)
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.
oTableMethods_POSTGRESQL/$setSQLText_InsDateTime (2007-11-21 Doug K.)
Added method to allow SQLText to be modified to set the ModDateTime column value using the timenow() PostgreSQL function.
oTableMethods_POSTGRESQL/$setSQLText_ModDateTime (2007-11-21 Doug K.)
Added method to allow SQLText to be modified to set the ModDateTime column value using the timenow() PostgreSQL function.
oTableMethods_SQLSERVER/$doinsertsBatch (2007-10-18 Doug K.)
Use local variable counter instead of List.$line for loop. Slightly better performance. Redraw working message every 100 vs. 5
oTableMethods_SQLSERVER/$retNextPrimaryKey (2007-11-27 Doug K.)
Removed the code that dealt with dbsetprimarykey.
oTableMethods_SQLSERVER/setIdentityInsert (2007-11-27 Doug K.)
Removed the code that dealt with dbsetprimarykey.
owcIconsListEditor/$#About (2007-11-05 Doug K.)
Added icons list editor window controller object for wIconsListEditor window class.
owcStringTablesSchemasEditor/$#About (2007-11-05 Doug K.)
Added icons list editor window controller object for wIconsListEditor window class.
owcStringTablesSchemasEditor/$deleteCurrLine (2007-11-14 Doug K.)
Added method to delete the current line. Called by the context menu.
owcStringTablesSchemasEditor/openGridContextMenu (2007-11-14 Doug K.)
Added context menu item to delete the current line from the cols list and the schema class.
owcStringTablesSchemasEditor/saveColsListChanges (2007-11-14 Doug K.)
Added code to send $recalcLanguageText messages to the main menu and command menu instances so that the menu values are immediately updated.
tBase/$:DBSETPRIMARYKEY (2007-11-27 Doug K.)
Deprecated the $:DBSetPrimaryKey property methods in tBase.
tBase/$:DBSETPRIMARYKEY.$assign (2007-11-27 Doug K.)
Deprecated the $:DBSetPrimaryKey property methods in tBase.
tBase/$dodeletesBatch (2007-10-18 Doug K.)
Use local variable counter instead of List.$line for loop. Slightly better performance.
tBase/$doupdatesBatch (2007-10-18 Doug K.)
Use local variable counter instead of List.$line for loop. Slightly better performance. Redraw working message every 100 vs. 5
tBase/$setPrimaryKey (2007-11-22 Doug K.)
Remove 'If ibDBSetPkey'. Always call the ioTableMethods object and let it decide how to set the primary key.
wDBAdmin/$construct (2007-11-24 Doug K.)
Use $findClass to find the oDBAdmin object in case it has been subclassed to the main library.
wDBAdminDataMover/$construct (2007-11-24 Doug K.)
Use $findClass to find the oDBAdmin object in case it has been subclassed to the main library.
wDBAdminDataMover/moveData (2007-11-23 Doug K.)
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.
wDBAdminSchemas/setCurrLineInSchemasList (2007-11-02 Doug K.)
Minor fix. Add not() to the search so that the previously selected schema class is reselected if found.
wErrorPrompt/$construct (2007-10-30 Doug K.)
Default the 'More Info' button to hidden. Added switch/case for leaving the button hidden.
wRebuildLists/rebuildRuntimeLists (2007-10-11 Doug K.)
Modified method to work with the refactored oRebuildCachedLists object methods.
wRebuildLists/rebuildRuntimeLists (2007-11-27 Doug K.)
Removed the bRuntimeRelease parameter. No longer required.
wRebuildLists/rebuildRuntimeWindowsAndAllLists (2007-10-11 Doug K.)
Modified method to work with the refactored oRebuildCachedLists object methods.
wRebuildLists/rebuildSQLLists (2007-10-11 Doug K.)
Modified method to work with the refactored oRebuildCachedLists object methods.
wRebuildLists/rebuildWindowsMenusIcons (2007-10-11 Doug K.)
Modified method to work with the refactored oRebuildCachedLists object methods.
wRebuildLists/reloadStringTables (2007-10-11 Doug K.)
Modified method to work with the refactored oRebuildCachedLists object methods.
wSQLMetaData/$#About (2007-10-25 Doug K.)
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.
wSQLMetaData/$delete (2007-11-02 Doug K.)
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.
wSQLMetaData/$rebuildExpandedNodes (2007-10-25 Doug K.)
Added method to rebuild the expanded nodes so that the show/hide checkbox actions will be immediately reflected in the treelist.
wSQLMetaData/addChildNodes (2007-10-25 Doug K.)
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.
wSQLMetaDataClassEditor_abstract/$_buildDefaultList (2007-11-02 Doug K.)
Check to make sure the class exists in the oSQLLists master list. If not, call $rebuildSQLClassInfo to add it.
wSQLMetaDataEditor_abstract/$inherit (2007-11-15 Doug K.)
Remove early exits.
wSQLMetaDataEditor_abstract/$override (2007-11-15 Doug K.)
Remove early exits.
wSQLMetaDataSchemaColsEditor/_fieldRule_foreignkey (2007-11-02 Doug K.)
Added helpful code to find and set the fkey refdtablename and refdcolnames if StudioWorks naming conventions (_fkey and _pkey) are followed.
wSQLMetaDataSchemaColsEditor/removeForeignKey (2007-11-02 Doug K.)
Added a method to dynamically remove foreign keys.
wSQLMetaDataSchemaColsEditor/setForeignKey (2007-11-02 Doug K.)
Added method to dynamically set/update the foreign keys.
wSQLMetaDataSchemaColsEditor/updateStringTables (2007-11-02 Doug K.)
Added method to update the string tables master list. Method is called from the label, tooltip, and abbrev fields if modified.
wSQLQueryBuilder/$#About (2007-10-18 Doug K.)
'Query Builder' window. Enhancement for building queries and automatically calculating the tables join text.
wSQLQueryBuilder/$#About (2007-10-29 Doug K.)
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.
wSQLQueryBuilder/$deleteSelectedLines (2007-11-19 Doug K.)
Only calculate the extra query text if the old query text was empty. Avoid overwriting existing query text.
wSQLQueryBuilder/$duplicate (2007-11-27 Doug K per Josh L)
Set $showascheckedout if applicable on the duplicate class.
wSQLQueryBuilder/$duplicate (2007-11-27 Doug K per Josh L)
Set $showascheckedout if applicable on the duplicate class.
wSQLQueryBuilder/$event (2007-11-19 Doug K.)
Added warning message if the new query text does not match the old query text.
wSQLQueryBuilder/$newQuery (2007-11-02 Doug K.)
Modify method to expand the root node if it hasn't been expanded yet.
wSQLQueryBuilder/$newQuery (2007-11-02 Doug K.)
Modify method to expand the root node if it hasn't been expanded yet.
wSQLQueryBuilder/$newQuery (2007-11-27 Doug K)
Fixed the code for $showascheckedout if applicable on the new class. Fixed the code for select the new class node after it is created.
wSQLQueryBuilder/$newQuery (2007-11-27 Doug K)
Fixed the code for $showascheckedout if applicable on the new class. Fixed the code for select the new class node after it is created.
wSQLQueryBuilder/addSchema (2007-10-24 Doug K per Mike M.)
Prefix the library name if the schema class is in a different library than the query class.
wSQLQueryBuilder/addSchemaCols (2007-10-24 Doug K per Mike M.)
Prefix the library name if the schema class is in a different library than the query class.
wSQLQueryBuilder/addSchemaCols (2007-10-24 Doug K.)
Set the LineNum to 1 so that dropping columns on an empty list goes in the correct order.
wSQLQueryBuilder/editQueryClass (2007-11-19 Doug K.)
Do not disable the entire window if the query class needs to be checked out of the VCS.
wSQLQueryBuilder/eventDrop (2007-11-19 Doug K.)
Only calculate the extra query text if the old query text was empty. Avoid overwriting existing query text.
wSQLQueryBuilder/setMessage (2007-11-19 Doug K.)
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.
wSessionEdit/$testSession (2007-11-20 Doug K.)
Close the test session if logon is successful so that we don't end up with extra sessions open. Remove early exits.
wStringTablesEditor/buildTablesList (2007-11-02 Doug K.)
Reselect the last selected table.
wStringTablesEditor/saveMasterList (2007-10-14 Doug K.)
Dynamically update the string tables masters list whenever changes are saved.
@20 Quick Start Tutorial/@00 About (2007-11-13 Doug K.)
Complete update of the QuickStart Tutorial which makes use of the new programmer tools added to the Programmer Workbench.
@20 Quick Start Tutorial/@05 Setting File And Library Names (2007-11-14 Doug K.)
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.
mCommands/$construct (2007-11-14 Doug K.)
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.
mCommands/$recalcLanguageText (2007-11-14 Doug K.)
Added method to recalc the language text for immediate updating on language change or string table update.
mMenu/$_addMenuLine (2007-11-12 Doug K.)
Added code to use the pMenuLineID if the pMenuLineText is empty.
mMenu/$_addMenuLine (2007-11-13 Doug K.)
Added parameter pIconID and code to set the $iconid if a value is sent.
mMenu/$control (2007-11-13 Doug K.)
Use the new objectlibname and objectclassname columns in the menu lines list, rather than the objectclassref column.
mMenu/$initialize (2007-11-13 Doug K.)
Added sending the iconid property to the $_addMenuLine method.
mReports/$control (2007-11-13 Doug K.)
Use the new objectlibname and objectclassname columns in the menu lines list, rather than the objectclassref column.
oConcretizer/setTextAndTooltipProperties (2007-10-14 Doug K.)
Added kDroplist and kCombo to the type of fields to set the tooltip text from the $tooltip property value.
oFieldHandler/$#About (2007-10-16 Doug K.)
Discovered two ivars pointing to field handler lookup object (ioLookupHandler & ioFieldHandlerLookupTypeAhead) Removed the ioFieldHandlerLookupTypeAhead.
oFieldHandlerLookupTypeAhead/event_evAfter (2007-10-16 Doug K.)
Discard the evAfter event if the next event is evOK and the lookup list window is visible.
oFieldHandlerLookupTypeAhead/selectfetchMasterListRecords (2007-10-22 Doug K.)
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.
oMenus/$buildLists (2007-11-08 Doug K.)
Remove any window menu lines where the menulineid is empty.
oMenus/$buildLists (2007-11-08 Doug K.)
Moved sorting to separate methods which can be called by other methods as well.
oMenus/$deleteWinMenuLinesListRow (2007-11-12 Doug K.)
Added method to delete a row in the window menu lines list.
oMenus/$recalcLanguageTextAndIcons (2007-11-08 Doug K.)
Recalculate the iconid for each line by sending a $retWinIconID message to oWindows. Allows for dynamic icon updates.
oMenus/$recalcLanguageTextAndIcons (2007-11-13 Doug K.)
Add exceptions for setting the menulinetext value plus set the menu line iconid.
oMenus/$retWindowMenuLinesList (2007-11-12 Doug K.)
Remove any empty menulineid rows from the list before returning it.
oMenus/$saveNavMenuLinesList (2007-10-16 Doug K.)
Modified the method to handle an empty nav list for a home library so that the stored list can be cleared.
oMenus/$saveWinMenuLinesList (2007-11-08 Doug K.)
Added method to save an oMenusList window menus lines list to its object, update and save the cached master list.
oMenus/$updateWinMenuLinesListRow (2007-11-12 Doug K.)
Added method to update a row in the window menu lines list.
oMenus/recalcMenuLineTextAndIconID (2007-11-13 Doug K.)
Added method to set the menulinetext and iconid, so that the method can be called by $recalcLanguageTextIcons and $saveWinMenuLinesList.
oMenusList_abstract/$#About (2007-11-09 Doug K.)
Added columns to the sMenuLinesWin_listdef (objectlibname,objectclassname,menulibname,menuclassname,iconid)
oMenusList_abstract/$:NavigationMenuLinesList (2007-10-10 Doug K.)
Ignoring the $addNavigationMenuLines method is a bit of a problem. Reworked the code to use the method.
oMenusList_abstract/$:WindowMenuLinesList (2007-11-08 Doug K.)
Modified the method to work with a window menus list save to the $userinfo property of subclass objects.
oMenusList_abstract/$:WindowMenuLinesList (2007-11-23 Doug K.)
Added code to put the code based menu lines after the saved list menu lines.
oMenusList_abstract/$_addReportsMenuLine (2007-11-19 Doug K.)
Default rObjectClass to #NULL. Add parameter to receive reference to the observer object class.
oMenusList_abstract/$retNavMenuLinesList (2007-10-26 Doug K.)
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.
oMenusList_abstract/addMenuLineToMenusStringTable (2007-11-09 Doug K.)
Update the string tables cached list if a new line is added to the sMn_stb schema class.
oMenusList_abstract/addMenuLineToMenusStringTable (2007-11-16 Doug K.)
Check to see if we can modify the class (VCS) and skip if we can't.
oMenusList_abstract/addReportsMenuObjectsAndMethods (2007-11-19 Doug K.)
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.
oMenusList_abstract/setExtraProperties_WinMenuLinesList (2007-11-19 Doug K.)
Add parameter to receive reference to the observer object class.
oPromptModeless/$promptColor (2007-10-11 Doug K.)
Added method for opening the prompt color window.
oPromptModeless/$promptDelete (2007-11-07 Doug K.)
Added optional parameter pTitle_opt in case the sender wishes to specify the title.
oPromptModeless/$promptDelete (2007-11-12 Doug K.)
Added optional parameter pCSVButtonStbIDsLeftToRight_opt in case the sender wishes to specify the button names.
oPromptModeless/$promptInputVars (2007-11-06 Doug K.)
Added method to simplify doing a modeless prompt for inputs to a single call to oModelessPrompts.
oPromptModeless/$retParamsRow_promptDelete (2007-11-07 Doug K.)
Added optional parameter pTitle_opt in case the sender wishes to specify the title.
oPrompts/$promptColor (2007-10-11 Doug K.)
Added method for opening the prompt color window.
oPrompts/$promptInputVars (2007-10-09 Doug K.)
Added parameters for inputs 5-9 extending the possible input variables from limit of 4 to 9.
oTabPaneController/$#About (2007-11-06 Doug K.)
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.
oWindows/$openWindow (2007-10-16 Doug K.)
Test 'openinshell' for null and default it to true if null.
oWindows/$retWinClassRef (2007-10-30 Doug K.)
If the developer window class can't be found and the wintype is 'list,edit,editnew, or new' then use the appropriate default class.
oWindows/$retWinIconID (2007-11-08 Doug K.)
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.
oWindows/$retWindowInstancesList (2007-10-24 Doug K.)
Remove any window instances that are not from the correct homelibname. This happens if you rename the library.
oWindows/$retWindowInstancesList (2007-11-08 Doug K.)
Added calls to setWinTypesInList and setExtraValuesInWinInstsList before merging into the master list.
oWindows/$saveWindowInstancesList (2007-11-08 Doug K.)
Added call to setWinTypesInList before saving and then merging into the master list.
oWindows/setExtraValuesInWinInstsList (2007-10-22 Doug K per Chuck M)
Bug fix. The toolbarcmndscsv and enabledcmndscsv was being incorrectly calculated.
oWindows/setExtraValuesInWinInstsList (2007-11-08 Doug K.)
Set the iconid in each line of the windows list.
oWindowsList_abstract/$:WindowInstancesList (2007-10-31 Doug K.)
Modifed the method to use the 'isdefaultwininstid' property so that code based default window instances always overwrite certain properties.
oWindowsList_abstract/$_addDefaultWinInstIDsForSchemasInLib (2007-11-02 Doug K.)
Modify the method to dynamically build its own schema class list, thereby negating the need to rebuild the SQL lists before running this method.
oWindowsList_abstract/$retWindowInstancesList (2007-10-26 Doug K.)
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.
oWindowsList_abstract/addDefaultWinInstID (2007-10-30 Doug K.)
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)
owcWindowMenusListEditor/$#About (2007-11-05 Doug K.)
Added icons list editor window controller object for wIconsListEditor window class.
owcWindowMenusListEditor/$:CurrClassRef (2007-11-15 Doug K.)
The current class reference will be the oMenusList class in the current home library.
owcWindowMenusListEditor/$addMenuLine (2007-11-22 Doug K.)
Fixed problem where right-click Add Menu Line on a menu node was messing up the treelist.
owcWindowMenusListEditor/$canModifyCurrClass (2007-11-15 Doug K.)
Move/modify the $canModifyClass method to oFunctions and call it there.
owcWindowMenusListEditor/$initialize (2007-11-19 Doug K.)
Removed iWindowsList and related code as it is no longer used.
owcWindowMenusListEditor/$initialize (2007-11-19 Doug K.)
Removed iMenuIDsList from Window Controller Object.
owcWindowMenusListEditor/addChildNodes_level2 (2007-11-15 Doug K per Josh L)
Use the winistid rather than the window title for the node names to avoid the problem of mutliple instances using the same translated name.
owcWindowMenusListEditor/addChildNodes_level3 (2007-11-16 Doug K.)
Set the libname and classname properties for the menu and object if they have not been set.
owcWindowMenusListEditor/addChildNodes_level4 (2007-11-16 Doug K.)
Set the libname and classname properties for the menu and object if they have not been set.
owcWindowMenusListEditor/eventDroplist_evClick (2007-11-14 Doug K.)
If the user changes the menulibname or objectlibname check only clear the classname if a matching class can't be found.
owcWindowMenusListEditor/eventEntry_evAfter (2007-11-19 Doug K.)
Test for valid calcuation before doing the eval() to avoid error message.
owcWindowMenusListEditor/eventTreelist_evDrop (2007-11-14 Doug K.)
Also set the homelibname, menulibname, and menuclassname to match the parent node when moving window menu lines.
owcWindowMenusListEditor/setCurrNodeUsingClassVars (2007-11-19 Doug K.)
Removed the code which defaulted to expanding the first root node. No need to waste time doing this.
owcWindowMenusListEditor/setDisplayFields (2007-11-16 Doug K.)
Added VCS warning if the observer object is not checked out.
wBase_ToolbarTitlebar_abstract/$_constructEnabledCmndsCSV (2007-10-30 Doug K.)
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.
wBase_abstract/$_retActiveCmndsList_winslist (2007-10-10 Doug K.)
Hitting stacklimit on 'If $cinst.$:Modified', change to 'If ibModified'
wContainer_Edit_Edit_abstract/$:ToolbarCmndsCSV (2007-11-27 Doug K.)
Modify the method so that is uses the new window instances toolbarcmndscsv property.
wContainer_abstract/$:ToolbarCmndsCSV (2007-11-27 Doug K.)
Modified the method so that is uses the new window instances toolbarcmndscsv property.
wContainer_abstract/$doCmnd (2007-11-14 Doug K.)
Include the parameter pCmnd & pShift when forwarding the message to the $cinst so that $new exception will work properly.
wContainer_abstract/$new (2007-11-14 Doug K.)
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.
wHeadedList_autoconfig/$event (2007-10-22 Doug K.)
Added evHScrolled to the events which cause the totals to be resized.
wHeadedList_autoconfig/resizeTotals (2007-10-22 Doug K per Chuck M.)
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.
wHeadedList_autoconfig/setTotals (2007-10-22 Doug K.)
Remove duplicate code and call the 'resizeTotals' method instead.
wList_abstract/$_retActiveCmndsList (2007-11-19 Doug K per Chuck M)
Bug fix. Changed 'SQLClassName' to 'iSQLClassName' and deleted local variable 'SQLClassName'.
wList_autoconfig/$toggleActiveInactiveForSelectedLines (2007-10-22 Doug K.)
Send a $refreshList message to the list object subwindow in order to update totals fields.
wMainWindow/$rebuildNavTreelist (2007-11-21 Doug K per Jim Creak.)
Added method so that the treelist can be rebuilt when the Nav list has been modified.
wNav_Treelist/$rebuildTreelist (2007-11-21 Doug K per Jim Creak.)
Added method so that the treelist can be rebuilt when the Nav list has been modified.
wNavigationListEditor/event_evDrop (2007-11-19 Doug K.)
Save the nav list after it is reordered and renumbered.
wNavigationListEditor/newMenuLine (2007-11-02 Doug K.)
If the homelibname is empty, default to the window instance's homelibname.
wNavigationListEditor/saveNavList (2007-10-16 Doug K.)
Remove 'If TempList.$linecount>0' because all of the nav menu lines may have been deleted for a library, so we need to overwrite the old saved list.
wNavigationListEditor/saveNavList (2007-11-21 Doug K per Jim Creak)
Added code to send a $rebuildNavTreelist message to any main window instances which are open.
wPromptColor/$#About (2007-10-11 Doug K.)
Added wPromptColor color picker window class created by Chuck Martin.
wPromptModelessShell/$event_ButtonPressed (2007-11-06 Doug K.)
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.
wSearchbar/$event (2007-10-19 Doug K.)
Discard kReturn and kEnter key events to avoid triggering the default evOK or evCancel.
wSearchbar/$event (2007-10-19 Doug K.)
Discard kReturn and kEnter key events to avoid triggering the default evOK or evCancel.
wSearchbar/$event (2007-10-19 Doug K.)
Discard kReturn and kEnter key events to avoid triggering the default evOK or evCancel.
wSearchbar/$event (2007-10-19 Doug K.)
Discard kReturn and kEnter key events to avoid triggering the default evOK or evCancel.
wShell/$#About wShell (2007-11-16 Doug K.)
Added code to the $event method to disable the mCommands menu for the $ctask when this window is on top.
wSignIn/constructSetLanguagesList (2007-11-01 Doug K.)
Make the languages droplist inactive if there are 1 or less languages availble to select.
wSignIn_20071124/constructSetLanguagesList (2007-11-01 Doug K.)
Make the languages droplist inactive if there are 1 or less languages availble to select.
wWindowInstancesListEditor/$#About (2007-10-22 Doug K per Josh L)
Bug fix. Changed field name & dataname from 'modesactivecsv' to 'activemodescsv'
wWindowInstancesListEditor/$control (2007-11-19 Doug K.)
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.
wWindowInstancesListEditor/buildTreelist (2007-11-19 Doug K.)
Removed the code which defaulted to expanding the first root node. No need to waste time doing this.
wWindowInstancesListEditor/setEditFields (2007-10-31 Doug K.)
Enable/disable the default wininstid fields.
oReportBuilder/addFieldsAndLabels (2007-10-11 Josh L.)
Removed duplicated code checking for Include in lists and hidden columns (also in oReportProperties.$retColsPropertiesList)