You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
(30) |
Aug
(6) |
Sep
(3) |
Oct
(1) |
Nov
(13) |
Dec
(15) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
|
Feb
(17) |
Mar
(7) |
Apr
(10) |
May
(34) |
Jun
(17) |
Jul
(150) |
Aug
(59) |
Sep
(186) |
Oct
(57) |
Nov
(45) |
Dec
(22) |
2005 |
Jan
(10) |
Feb
(10) |
Mar
(6) |
Apr
(24) |
May
(10) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(35) |
Nov
(12) |
Dec
(1) |
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(7) |
Nov
(1) |
Dec
|
From: boca4711 <boc...@us...> - 2005-04-17 12:29:03
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24283 Modified Files: AnyEdit.rc Log Message: Fix: Layout in color preferences dialog Index: AnyEdit.rc =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEdit.rc,v retrieving revision 1.116 retrieving revision 1.117 diff -C2 -d -r1.116 -r1.117 *** AnyEdit.rc 5 Apr 2005 08:28:40 -0000 1.116 --- AnyEdit.rc 17 Apr 2005 12:28:51 -0000 1.117 *************** *** 1555,1561 **** FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN ! PUSHBUTTON "Button1",IDC_CBUTTON_FORE,143,31,127,13 ! LTEXT "Foreground Color",IDC_STATIC,142,20,100,9 ! LTEXT "Background Color",IDC_STATIC,144,56,74,9 PUSHBUTTON "Button2",IDC_CBUTTON_BACK,144,68,126,13 GROUPBOX "Sample Editor Area",IDC_STATIC,144,85,126,54 --- 1555,1561 ---- FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN ! PUSHBUTTON "Button1",IDC_CBUTTON_FORE,143,33,127,13 ! LTEXT "Foreground Color",IDC_STATIC,143,22,100,9 ! LTEXT "Background Color",IDC_STATIC,143,57,74,9 PUSHBUTTON "Button2",IDC_CBUTTON_BACK,144,68,126,13 GROUPBOX "Sample Editor Area",IDC_STATIC,144,85,126,54 |
From: Leon W. <moo...@us...> - 2005-04-14 12:01:55
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25364 Modified Files: AnyEditDoc.cpp AnyEditDoc.h FileTypeManager.cpp FileTypeManager.h Log Message: Added functionality to determine the language of a document by it's first line, if the extension isn't recognized. On startup a list of regular expressions is read from the config file (StartExrpressions). If one of these regex's matches, the language it belonged to is set on the document. Index: FileTypeManager.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/FileTypeManager.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** FileTypeManager.h 11 Apr 2005 06:56:12 -0000 1.10 --- FileTypeManager.h 14 Apr 2005 12:01:43 -0000 1.11 *************** *** 103,106 **** --- 103,109 ---- int GetLanguageNrFromExtension( CString szExtension ); + /// Get the LanguageNr of line. It is checked against StartExpressions. + int GetLanguageNrFromLine( CString szLine ); + /// Set properties for a given langugage to a scintilla control. void SetScintillaProperties(int iLanguage, CScintillaEx* pScintilla, BOOL bSyntaxHighlighting); *************** *** 113,116 **** --- 116,125 ---- void FillLanguageNames(CConfigFile *pConfigFile); + /// Fill start expressions of languages + void FillLanguageStartExpressions( CConfigFile* pConfigFile ); + + /// Map of the Start Expressions + CMapStringToString m_mapStartExpressions; + /// Array of language filters CStringArray m_arrFilters; Index: FileTypeManager.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/FileTypeManager.cpp,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** FileTypeManager.cpp 11 Apr 2005 06:56:12 -0000 1.28 --- FileTypeManager.cpp 14 Apr 2005 12:01:42 -0000 1.29 *************** *** 33,36 **** --- 33,37 ---- #include "FileTypeManager.h" #include "AnyEditDoc.h" + #include "Regex.h" #ifdef _DEBUG *************** *** 233,236 **** --- 234,258 ---- } + /// Get the LanguageNr of line. It is checked against StartExpressions. + int CFileTypeManager::GetLanguageNrFromLine( CString szLine ) + { + CRegex rx; + POSITION pos; + CString szExpression; + CString szLanguageNr; + pos = m_mapStartExpressions.GetStartPosition(); + while( pos != NULL ) + { + m_mapStartExpressions.GetNextAssoc( pos, szExpression, szLanguageNr ); + + rx.compile( szExpression ); + if( !rx.compiled() ) continue; + + if( rx.match( szLine ) ) return atoi( szLanguageNr ); + } + + return 0; + } + /// Find the SyntaxFile object by it's language number CSyntaxFile* CFileTypeManager::GetSyntaxFile( int iLanguage ) *************** *** 246,249 **** --- 268,272 ---- FillExtensionMap(conf); FillLanguageNames(conf); + FillLanguageStartExpressions(conf); LoadSyntaxFiles(conf); *************** *** 553,556 **** --- 576,590 ---- } + void CFileTypeManager::FillLanguageStartExpressions( CConfigFile* pConfigFile ) + { + int nCountLanguages = pConfigFile->GetLanguageCount(); + m_mapStartExpressions.RemoveAll(); + while( nCountLanguages > 0 ) + { + -- nCountLanguages; + pConfigFile->GetLanguageStartExpressions( nCountLanguages, &m_mapStartExpressions ); + } + } + /// Create filter string for file open dialog. CString CFileTypeManager::GetFileDialogFilter() Index: AnyEditDoc.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEditDoc.h,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** AnyEditDoc.h 3 Dec 2004 06:46:12 -0000 1.26 --- AnyEditDoc.h 14 Apr 2005 12:01:42 -0000 1.27 *************** *** 102,105 **** --- 102,106 ---- void CleanProjectFile(); void UpdateProjectFile(); + int DetermineLanguageNumber(); // Generated message map functions Index: AnyEditDoc.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEditDoc.cpp,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -d -r1.52 -r1.53 *** AnyEditDoc.cpp 11 Apr 2005 06:34:48 -0000 1.52 --- AnyEditDoc.cpp 14 Apr 2005 12:01:42 -0000 1.53 *************** *** 222,225 **** --- 222,257 ---- } + int CAnyEditDoc::DetermineLanguageNumber() + { + CString szTemp; + int iIndex; + int iLanguage = 0; + char* text = NULL; + + szTemp = GetPathName(); + iIndex = szTemp.ReverseFind( '.' ); + if( iIndex >= 0 ) + { + szTemp = szTemp.Mid( iIndex + 1 ); + szTemp.MakeUpper(); + iLanguage = theApp.GetFileTypeManager()->GetLanguageNrFromExtension( szTemp ); + } + if( iLanguage == 0 ) + { + CAnyEditView* pFirstView = GetFirstEditView(); + if( pFirstView ) + { + text = (char*)realloc( text, pFirstView->GetScintillaControl()->GetLineEndPosition(0) + 3 ); + if( NULL == text ) return 0; + iIndex = pFirstView->GetScintillaControl()->GetLine(0, text); + text[iIndex] = '\0'; + iLanguage = theApp.GetFileTypeManager()->GetLanguageNrFromLine( text ); + } + } + if( text ) free( text ); + + return iLanguage; + } + /*********************************************************************\ ** *************** *** 237,246 **** RemoveTempCopy(TRUE); - // Set the language number from the extension - CMisc misc; - m_iLanguage = theApp.GetFileTypeManager()->GetLanguageNrFromExtension( misc.GetFileExtension( lpszPathName ) ); - m_bBraceMatching = theApp.GetFileTypeManager()->GetBraceMatching(m_iLanguage); - m_bSyntaxHighlighting = theApp.GetFileTypeManager()->GetSyntaxHighlighting(m_iLanguage); - CConfigFile* pConfigFile = theApp.GetConfigFile(); if( NULL == pConfigFile ) --- 269,272 ---- *************** *** 253,259 **** } ! // Use Scintilla to open the file. CAnyEditView* pFirstView = GetFirstEditView(); ! if (!pFirstView->GetScintillaControl()->OpenFile(lpszPathName)) return FALSE; --- 279,285 ---- } ! // Use Scintilla to open the file. CAnyEditView* pFirstView = GetFirstEditView(); ! if (!pFirstView->GetScintillaControl()->OpenFile(lpszPathName)) return FALSE; *************** *** 268,272 **** UpdateProjectFile(); ! return TRUE; } --- 294,303 ---- UpdateProjectFile(); ! // Set the language number from the extension ! m_iLanguage = DetermineLanguageNumber(); ! m_bBraceMatching = theApp.GetFileTypeManager()->GetBraceMatching(m_iLanguage); ! m_bSyntaxHighlighting = theApp.GetFileTypeManager()->GetSyntaxHighlighting(m_iLanguage); ! ! return TRUE; } *************** *** 299,307 **** return FALSE; // Check if we need to update the scintilla properties // We only do this if we have non-default value for the iTempLanguage, // because we don't want to switch Default when we did a manual override. ! CMisc misc; ! int iTempLanguage = theApp.GetFileTypeManager()->GetLanguageNrFromExtension(misc.GetFileExtension(lpszPathName)); if(iTempLanguage != 0 && m_iLanguage != iTempLanguage) { --- 330,344 ---- return FALSE; + SetPathName(lpszPathName); + DWORD dwFileAttributes = ::GetFileAttributes(lpszPathName); + m_bFileReadOnly = (dwFileAttributes & FILE_ATTRIBUTE_READONLY) != 0; + pView->GetScintillaControl()->SetReadOnly(m_bFileReadOnly); + UpdateProjectFile(); + SetLastAccessTime(); + // Check if we need to update the scintilla properties // We only do this if we have non-default value for the iTempLanguage, // because we don't want to switch Default when we did a manual override. ! int iTempLanguage = DetermineLanguageNumber(); if(iTempLanguage != 0 && m_iLanguage != iTempLanguage) { *************** *** 313,323 **** } - SetPathName(lpszPathName); - DWORD dwFileAttributes = ::GetFileAttributes(lpszPathName); - m_bFileReadOnly = (dwFileAttributes & FILE_ATTRIBUTE_READONLY) != 0; - pView->GetScintillaControl()->SetReadOnly(m_bFileReadOnly); - UpdateProjectFile(); - SetLastAccessTime(); - return TRUE; } --- 350,353 ---- |
From: Leon W. <moo...@us...> - 2005-04-14 11:49:08
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17669 Modified Files: ConfigFile.cpp ConfigFile.h Log Message: - Added StartExpressions for a Language to the ConfigFile. For language determining by first line. Index: ConfigFile.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/ConfigFile.h,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** ConfigFile.h 14 Apr 2005 11:18:56 -0000 1.21 --- ConfigFile.h 14 Apr 2005 11:48:57 -0000 1.22 *************** *** 73,76 **** --- 73,80 ---- #define TAG_LANGUAGE_AUTOCOMPFILE "AutoCompFile" #define TAG_LANGUAGE_EXTENSIONS "Extensions" + #define TAG_LANGUAGE_STARTEXPRESSIONS "StartExpressions" + + // Language StartExpression tags + #define TAG_EXPRESSION "Expression" // Editor tags *************** *** 258,261 **** --- 262,271 ---- bool RemoveLanguage( int iNumber ); + /// Get all StartExpressions of language iNumber. + bool GetLanguageStartExpressions( int iNumber, CMapStringToString* pMap ); + + /// Set new StartExpressions for language iNumber + bool SetLanguageStartExpressions( int iNumber, CMapStringToString* pMap ); + /// Get the color of the caret/cursor. COLORREF GetCaretColor(); Index: ConfigFile.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/ConfigFile.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** ConfigFile.cpp 14 Apr 2005 11:18:56 -0000 1.22 --- ConfigFile.cpp 14 Apr 2005 11:48:56 -0000 1.23 *************** *** 338,342 **** } - // Get the extensions string of languge with number iNumber. CString CConfigFile::GetLanguageExtensions( int iNumber ) --- 338,341 ---- *************** *** 367,371 **** } - // Add a language to the config file. bool CConfigFile::AddLanguage( CString szName, CString szSyntaxFile, CString szAutoCompFile, CString szExtensions ) --- 366,369 ---- *************** *** 437,441 **** } ! /// Get the color of the caret/cursor. COLORREF CConfigFile::GetCaretColor() { --- 435,513 ---- } ! // Get all StartExpressions of language iNumber. ! bool CConfigFile::GetLanguageStartExpressions( int iNumber, CMapStringToString* pMap ) ! { ! unsigned int uiCount; ! CString szNumber; ! pug::xml_node xnode; ! ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return false; ! ! xnode = GetLanguageNodeByNumber( iNumber ); ! if( xnode.empty() ) return false; ! ! xnode = xnode.first_element_by_name( TAG_LANGUAGE_STARTEXPRESSIONS ); ! if( xnode.empty() ) return false; ! ! szNumber.Format( "%d", iNumber ); ! for( uiCount = 0; uiCount < xnode.children(); ++ uiCount ) ! { ! if( !xnode.child(uiCount).empty() && xnode.child(uiCount).has_child_nodes() ) ! { ! pMap->SetAt( xnode.child(uiCount).child(0).value(), szNumber ); ! } ! } ! ! return true; ! } ! ! // Set new StartExpressions for language iNumber ! bool CConfigFile::SetLanguageStartExpressions( int iNumber, CMapStringToString* pMap ) ! { ! POSITION pos; ! CString szKey; ! CString szData; ! pug::xml_node xnode; ! ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return false; ! ! xnode = GetLanguageNodeByNumber( iNumber ); ! if( xnode.empty() ) return false; ! ! xnode = xnode.first_element_by_name( TAG_LANGUAGE_STARTEXPRESSIONS ); ! if( xnode.empty() ) ! { ! // Add a new startexpression tag ! xnode = xnode.append_child( pug::node_element ); ! if( xnode.empty() ) return false; ! ! // This is the point where the file is modified. ! m_bModified = true; ! ! // Set the tagname of the new child ! if( !xnode.name( TAG_LANGUAGE_STARTEXPRESSIONS ) ) return false; ! } ! ! // Remove the current list of children. ! while( xnode.has_child_nodes() ) ! { ! if( !xnode.remove_child( 0 ) ) return false; ! m_bModified = true; ! } ! ! pos = pMap->GetStartPosition(); ! while( pos != NULL ) ! { ! pMap->GetNextAssoc( pos, szKey, szData ); ! if( szKey.IsEmpty() ) continue; ! if( !AddChildStringElement( xnode, TAG_EXPRESSION, szKey, false ) ) return false; ! } ! ! return true; ! } ! ! // Get the color of the caret/cursor. COLORREF CConfigFile::GetCaretColor() { *************** *** 443,447 **** } ! /// Set the color ot the caret/cursor. bool CConfigFile::SetCaretColor( COLORREF clrCaret ) { --- 515,519 ---- } ! // Set the color ot the caret/cursor. bool CConfigFile::SetCaretColor( COLORREF clrCaret ) { |
From: Leon W. <moo...@us...> - 2005-04-14 11:38:05
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11612 Modified Files: SyntaxFile.cpp SyntaxFile.h Log Message: Improved Class - Removed keyword array's to save memory - Rewrote Delimited keyword functions, to read them from the xml tree. - Constructor used less iterations to read space delimited cached sets, so it should improve speed. Index: SyntaxFile.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/SyntaxFile.cpp,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** SyntaxFile.cpp 11 Apr 2005 08:20:27 -0000 1.27 --- SyntaxFile.cpp 14 Apr 2005 11:37:46 -0000 1.28 *************** *** 51,63 **** CSyntaxFile::CSyntaxFile() { - int iCount; - iMaxStyle = STYLE_MAX; - - // Set the string compare functions for the CSortedArray's with keywords. - for( iCount = 0; iCount < KEYWORDSET_MAX; ++ iCount ) - { - Keywords[iCount].SetCompareFunction( CompareCString ); - } } --- 51,55 ---- *************** *** 70,75 **** { int iCount; - unsigned int iWordCount; - char number[4]; pug::xml_node xnode; --- 62,65 ---- *************** *** 99,131 **** for( iCount = 0; iCount < KEYWORDSET_MAX; ++ iCount ) { ! sprintf( number, "%i", iCount ); ! ! xnode = m_xml_parser.document().first_element_by_attribute( TAG_KEYWORDS, ATT_KEYWORDS_SET, number );//(LPCTSTR)CString().Format( "%i", iCount ) ); ! if( xnode.empty() ) continue; ! ! CString szKeywordDescription; ! if( !xnode.attribute( ATT_KEYWORDS_DESCRIPTION ).empty() ) ! { ! szKeywordDescription = xnode.attribute( ATT_KEYWORDS_DESCRIPTION ).value(); ! if( szKeywordDescription.IsEmpty() ) ! { ! szKeywordDescription = "Keywords "; ! char descnumber[4]; ! sprintf( descnumber, "%d", iCount + 1 ); ! szKeywordDescription += descnumber; ! } ! } ! ! KeywordDescription[iCount] = szKeywordDescription; ! ! for( iWordCount = 0; iWordCount < xnode.children(); ++ iWordCount ) ! { ! if( CString( xnode.child( iWordCount ).name() ) == TAG_KEYWORDS_WORD && xnode.child( iWordCount ).children() ) ! { ! Keywords[iCount].Add( CString( xnode.child( iWordCount ).child(0).value() ) ); ! if( iWordCount > 0 ) KeywordsSpaceDelimited[iCount] += _T(" "); ! KeywordsSpaceDelimited[iCount] += CString( xnode.child( iWordCount ).child(0).value() ); ! } ! } } --- 89,93 ---- for( iCount = 0; iCount < KEYWORDSET_MAX; ++ iCount ) { ! KeywordsSpaceDelimited[iCount] = GetDelimitedKeywordSet( iCount, ' ' ); } *************** *** 135,149 **** CString CSyntaxFile::GetKeywordSetDescription(int iSet) { if( iSet < 0 || iSet >= KEYWORDSET_MAX ) return _T(""); // Make sure the file is parsed. if( !m_bParsed && !Parse() ) return _T(""); ! ! return KeywordDescription[iSet]; } bool CSyntaxFile::SetDelimitedKeywordSet( int iSet, CString &szKeywords, char cSep /* = ' ' */) { - int iCount; char number[4]; CString szKeyword; --- 97,116 ---- CString CSyntaxFile::GetKeywordSetDescription(int iSet) { + char number[4]; + if( iSet < 0 || iSet >= KEYWORDSET_MAX ) return _T(""); // Make sure the file is parsed. if( !m_bParsed && !Parse() ) return _T(""); ! ! sprintf( number, "%i", iSet ); ! pug::xml_node xnode = m_xml_parser.document().first_element_by_attribute( TAG_KEYWORDS, ATT_KEYWORDS_SET, number ); ! if( xnode.empty() ) return _T(""); ! ! return GetStringAttributeFromXMLFile( xnode, ATT_KEYWORDS_DESCRIPTION ); } bool CSyntaxFile::SetDelimitedKeywordSet( int iSet, CString &szKeywords, char cSep /* = ' ' */) { char number[4]; CString szKeyword; *************** *** 154,160 **** if( !m_bParsed && !Parse() ) return false; KeywordsSpaceDelimited[iSet].Empty(); - Keywords[iSet].RemoveAll(); int iBegin = 0; int iEnd = 0; --- 121,131 ---- if( !m_bParsed && !Parse() ) return false; + sprintf( number, "%i", iSet ); + pug::xml_node xnode( m_xml_parser.document().first_element_by_attribute( TAG_KEYWORDS, ATT_KEYWORDS_SET, number ) ); + if( xnode.empty() ) return false; + + while( xnode.has_child_nodes() ) xnode.remove_child(0); KeywordsSpaceDelimited[iSet].Empty(); int iBegin = 0; int iEnd = 0; *************** *** 176,180 **** if( !szKeyword.IsEmpty() ) { ! Keywords[iSet].Add( szKeyword ); if( iBegin > 0 ) KeywordsSpaceDelimited[iSet] += _T(" "); KeywordsSpaceDelimited[iSet] += szKeyword; --- 147,151 ---- if( !szKeyword.IsEmpty() ) { ! AddChildStringElement( xnode, TAG_KEYWORDS_WORD, szKeyword ); if( iBegin > 0 ) KeywordsSpaceDelimited[iSet] += _T(" "); KeywordsSpaceDelimited[iSet] += szKeyword; *************** *** 183,204 **** } - sprintf( number, "%i", iSet ); - - pug::xml_node xnode( m_xml_parser.document().first_element_by_attribute( TAG_KEYWORDS, ATT_KEYWORDS_SET, number ) ); - if( xnode.empty() ) return false; - - while( xnode.has_child_nodes() ) xnode.remove_child(0); - - if( Keywords[iSet].GetSize() > 0 ) - { - for( iCount = 0; iCount < Keywords[iSet].GetSize(); ++ iCount ) - { - xnode.insert_child( iCount, pug::node_element ); - xnode.child( iCount ).name( "Word" ); - xnode.child( iCount ).insert_child( 0, pug::node_pcdata ); - ( xnode.child( iCount ) ).child(0).value( Keywords[iSet][iCount] ); - } - } - return m_bModified = true; } --- 154,157 ---- *************** *** 218,223 **** CString CSyntaxFile::GetDelimitedKeywordSet( int iSet, char cSep ) { ! int iCount; CString szDelimited; if( iSet < 0 || iSet >= KEYWORDSET_MAX ) return _T(""); --- 171,178 ---- CString CSyntaxFile::GetDelimitedKeywordSet( int iSet, char cSep ) { ! char number[4]; ! int iWordCount; CString szDelimited; + pug::xml_node xnode; if( iSet < 0 || iSet >= KEYWORDSET_MAX ) return _T(""); *************** *** 226,243 **** if( !m_bParsed && !Parse() ) return _T(""); ! if( 0 == Keywords[iSet].GetSize() ) return _T(""); ! for( iCount = 0; iCount < Keywords[iSet].GetSize(); ++ iCount ) { ! if( 0 != iCount ) ! { ! szDelimited += cSep; ! szDelimited += Keywords[iSet][iCount]; ! } ! else { ! szDelimited = Keywords[iSet][iCount]; } } return szDelimited; } --- 181,197 ---- if( !m_bParsed && !Parse() ) return _T(""); ! sprintf( number, "%i", iSet ); ! xnode = m_xml_parser.document().first_element_by_attribute( TAG_KEYWORDS, ATT_KEYWORDS_SET, number ); ! if( xnode.empty() ) return _T(""); ! for( iWordCount = 0; iWordCount < xnode.children(); ++ iWordCount ) { ! if( CString( xnode.child( iWordCount ).name() ) == TAG_KEYWORDS_WORD && xnode.child( iWordCount ).children() ) { ! if( iWordCount > 0 ) szDelimited += cSep; ! szDelimited += CString( xnode.child( iWordCount ).child(0).value() ); } } + return szDelimited; } *************** *** 246,251 **** --- 200,208 ---- CString CSyntaxFile::GetDelimitedKeywords( char cSep ) { + char number[4]; int iCount; + int iWordCount; CString szDelimited; + pug::xml_node xnode; CSortedArray<CString, CString> AllKeywords; *************** *** 257,265 **** for( iCount = 0; iCount < KEYWORDSET_MAX; ++ iCount ) { ! if( Keywords[iCount].GetSize() ) { ! AllKeywords.Append( Keywords[iCount] ); } } AllKeywords.Sort(); for( iCount = 0; iCount < AllKeywords.GetSize(); ++ iCount ) --- 214,230 ---- for( iCount = 0; iCount < KEYWORDSET_MAX; ++ iCount ) { ! sprintf( number, "%i", iCount ); ! xnode = m_xml_parser.document().first_element_by_attribute( TAG_KEYWORDS, ATT_KEYWORDS_SET, number ); ! if( xnode.empty() ) continue; ! ! for( iWordCount = 0; iWordCount < xnode.children(); ++ iWordCount ) { ! if( CString( xnode.child( iWordCount ).name() ) == TAG_KEYWORDS_WORD && xnode.child( iWordCount ).children() ) ! { ! AllKeywords.Add( CString( xnode.child( iWordCount ).child(0).value() ) ); ! } } } + AllKeywords.Sort(); for( iCount = 0; iCount < AllKeywords.GetSize(); ++ iCount ) Index: SyntaxFile.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/SyntaxFile.h,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** SyntaxFile.h 11 Apr 2005 06:52:58 -0000 1.18 --- SyntaxFile.h 14 Apr 2005 11:37:55 -0000 1.19 *************** *** 151,160 **** int iMaxStyle; - /// Sorted array with all the keywords of a language - CSortedArray<CString, CString> Keywords[KEYWORDSET_MAX]; - - /// Array with the descriptions of the Keyword Sets - CString KeywordDescription[KEYWORDSET_MAX]; - /// Array with strings containing the all keywords of a set delimited by a space. CString KeywordsSpaceDelimited[KEYWORDSET_MAX]; --- 151,154 ---- |
From: Leon W. <moo...@us...> - 2005-04-14 11:31:17
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6167 Modified Files: XMLFile.cpp XMLFile.h Log Message: Class Improvements - Added AddChildElement functions, to add child nodes to a node. - Added extra check in set functions. We only change the value if it is different, so we don't set the modified flag unneeded and need to save unneeded. Index: XMLFile.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/XMLFile.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** XMLFile.h 23 Dec 2004 11:42:59 -0000 1.7 --- XMLFile.h 14 Apr 2005 11:30:20 -0000 1.8 *************** *** 119,122 **** --- 119,140 ---- bool SetStringAttributeToXMLFile( pug::xml_node& xnode, const TCHAR* attribute, const CString& szValue ); + /// Add a child boolean element to a section. + bool AddChildBoolElement( const TCHAR* section, const TCHAR* name, bool bValue ); + + /// Add a child boolean element to a node. + bool AddChildBoolElement( pug::xml_node& xnode, const TCHAR* name, bool bValue ); + + /// Add a child int element to a section. + bool AddChildIntElement( const TCHAR* section, const TCHAR* name, int iValue ); + + /// Add a child int element to a node. + bool AddChildIntElement( pug::xml_node& xnode, const TCHAR* name, int iValue ); + + /// Add a child string element to a section. + bool AddChildStringElement( const TCHAR* section, const TCHAR* name, const CString& szValue, bool bParsedData = true ); + + /// Add a child string element to a node. + bool AddChildStringElement( pug::xml_node& xnode, const TCHAR* name, const CString& szValue, bool bParsedData = true ); + public: DECLARE_DYNAMIC(CXMLFile) Index: XMLFile.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/XMLFile.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** XMLFile.cpp 23 Dec 2004 11:42:59 -0000 1.9 --- XMLFile.cpp 14 Apr 2005 11:30:19 -0000 1.10 *************** *** 126,132 **** if( xnode.empty() || !xnode.has_child_nodes() ) return false; ! if( !SetStringToXMLFile( xnode, element, sValue, bParsedData ) ) return false; ! ! return m_bModified = true; } --- 126,130 ---- if( xnode.empty() || !xnode.has_child_nodes() ) return false; ! return SetStringToXMLFile( xnode, element, sValue, bParsedData ); } *************** *** 146,149 **** --- 144,148 ---- else { + if( sValue == tnode.child(0).value() ) return true; tnode.child(0).type( bParsedData ? pug::node_pcdata : pug::node_cdata ); if( !tnode.child(0).value( sValue ) ) return false; *************** *** 268,271 **** --- 267,271 ---- else { + if( szValue == xattribute.value() ) return true; if( !xattribute.value( szValue ) ) return false; } *************** *** 274,277 **** --- 274,337 ---- } + // Add a child boolean element to a section. + bool CXMLFile::AddChildBoolElement( const TCHAR* section, const TCHAR* name, bool bValue ) + { + return AddChildIntElement( section, name, bValue ? 1 : 0 ); + } + + // Add a child boolean element to a node. + bool CXMLFile::AddChildBoolElement( pug::xml_node& xnode, const TCHAR* name, bool bValue ) + { + return AddChildIntElement( xnode, name, bValue ? 1 : 0 ); + } + + // Add a child int element to a section. + bool CXMLFile::AddChildIntElement( const TCHAR* section, const TCHAR* name, int iValue ) + { + CString sValue; + + sValue.Format( "%i", iValue ); + + return AddChildStringElement( section, name, sValue ); + } + + // Add a child int element to a node. + bool CXMLFile::AddChildIntElement( pug::xml_node& xnode, const TCHAR* name, int iValue ) + { + CString sValue; + + sValue.Format( "%i", iValue ); + + return AddChildStringElement( xnode, name, sValue ); + } + + // Add a child string element to a section. + bool CXMLFile::AddChildStringElement( const TCHAR* section, const TCHAR* name, const CString& szValue, bool bParsedData ) + { + if( !m_bParsed && !Parse() ) return false; + + pug::xml_node xnode( m_xml_parser.document().first_element_by_name( section ) ); + if( xnode.empty() ) return false; + + return AddChildStringElement( xnode, name, szValue, bParsedData ); + } + + // Add a child string element to a node. + bool CXMLFile::AddChildStringElement( pug::xml_node& xnode, const TCHAR* name, const CString& szValue, bool bParsedData ) + { + pug::xml_node tnode; + tnode = xnode.append_child( pug::node_element ); + if( tnode.empty() ) return false; + + m_bModified = true; + + if( !tnode.name( name ) ) return false; + + tnode = tnode.append_child( bParsedData ? pug::node_pcdata : pug::node_cdata ); + if( tnode.empty() ) return false; + + return tnode.value( szValue ); + } + // Constructor CXMLFile::CXMLFile() |
From: Leon W. <moo...@us...> - 2005-04-14 11:19:07
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv544 Modified Files: ConfigFile.cpp ConfigFile.h Log Message: Improved class - Removed language attributes (count,number), these aren't needed. - Add Parse checks in every function, to make sure the file is parsed before read. Index: ConfigFile.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/ConfigFile.h,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** ConfigFile.h 27 Jan 2005 13:29:20 -0000 1.20 --- ConfigFile.h 14 Apr 2005 11:18:56 -0000 1.21 *************** *** 68,74 **** #define TAG_LANGUAGE "Language" - // Languages attributes - #define ATT_LANGUAGES_COUNT "count" - // Language tags #define TAG_LANGUAGE_NAME "Name" --- 68,71 ---- *************** *** 77,83 **** #define TAG_LANGUAGE_EXTENSIONS "Extensions" - // Language attributes - #define ATT_LANGUAGE_NUMBER "number" - // Editor tags #define TAG_EDITOR_CARETCOLOR "CaretColor" --- 74,77 ---- *************** *** 305,309 **** /// Set the color for the Highlighted Line bool SetHighlightCurrentLineColor( COLORREF clrHighlight ); ! /// Get the RightEdge type. bool GetRightEdge(); --- 299,303 ---- /// Set the color for the Highlighted Line bool SetHighlightCurrentLineColor( COLORREF clrHighlight ); ! /// Get the RightEdge type. bool GetRightEdge(); Index: ConfigFile.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/ConfigFile.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** ConfigFile.cpp 27 Jan 2005 13:29:20 -0000 1.21 --- ConfigFile.cpp 14 Apr 2005 11:18:56 -0000 1.22 *************** *** 50,54 **** CConfigFile::~CConfigFile() { - } --- 50,53 ---- *************** *** 58,62 **** pug::xml_node xnode; ! if( !m_bParsed ) Parse(); xnode = m_xml_parser.document(); --- 57,62 ---- pug::xml_node xnode; ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return pug::xml_node(); xnode = m_xml_parser.document(); *************** *** 71,82 **** pug::xml_node CConfigFile::GetLanguageNodeByNumber( int iNumber ) { - CString szNumber; pug::xml_node xnode; xnode = GetLanguagesNode(); ! if( xnode.empty() ) return false; ! szNumber.Format( "%i", iNumber ); ! return xnode.first_element_by_attribute( TAG_LANGUAGE, ATT_LANGUAGE_NUMBER, szNumber ); } --- 71,82 ---- pug::xml_node CConfigFile::GetLanguageNodeByNumber( int iNumber ) { pug::xml_node xnode; xnode = GetLanguagesNode(); ! if( xnode.empty() ) return pug::xml_node(); ! if( xnode.children() <= iNumber ) return pug::xml_node(); ! ! return xnode.child( iNumber ); } *************** *** 241,253 **** { pug::xml_node xnode; - pug::xml_attribute xattribute; xnode = GetLanguagesNode(); if( xnode.empty() ) return -1; ! xattribute = xnode.attribute( ATT_LANGUAGES_COUNT ); ! if( xattribute.empty() ) return -1; ! ! return atoi( xattribute.value() ); } --- 241,254 ---- { pug::xml_node xnode; + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return -1; + + // Get root node. xnode = GetLanguagesNode(); if( xnode.empty() ) return -1; ! // Return nr of children = nr of languages ! return xnode.children(); } *************** *** 258,261 **** --- 259,265 ---- pug::xml_node xnode; + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return _T(""); + xnode = GetLanguageNodeByNumber( iNumber ); if( xnode.empty() && !xnode.children() ) return ""; *************** *** 269,272 **** --- 273,279 ---- pug::xml_node xnode; + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return false; + xnode = GetLanguageNodeByNumber( iNumber ); if( xnode.empty() || !xnode.children() ) return false; *************** *** 280,283 **** --- 287,293 ---- pug::xml_node xnode; + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return _T(""); + xnode = GetLanguageNodeByNumber( iNumber ); if( xnode.empty() || !xnode.children() ) return ""; *************** *** 291,294 **** --- 301,307 ---- pug::xml_node xnode; + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return false; + xnode = GetLanguageNodeByNumber( iNumber ); if( xnode.empty() || !xnode.children() ) return false; *************** *** 302,305 **** --- 315,321 ---- pug::xml_node xnode; + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return _T(""); + xnode = GetLanguageNodeByNumber( iNumber ); if( xnode.empty() || !xnode.children() ) return ""; *************** *** 313,316 **** --- 329,335 ---- pug::xml_node xnode; + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return false; + xnode = GetLanguageNodeByNumber( iNumber ); if( xnode.empty() || !xnode.children() ) return false; *************** *** 325,328 **** --- 344,350 ---- pug::xml_node xnode; + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return _T(""); + xnode = GetLanguageNodeByNumber( iNumber ); if( xnode.empty() || !xnode.children() ) return ""; *************** *** 336,339 **** --- 358,364 ---- pug::xml_node xnode; + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return false; + xnode = GetLanguageNodeByNumber( iNumber ); if( xnode.empty() || !xnode.children() ) return false; *************** *** 346,380 **** bool CConfigFile::AddLanguage( CString szName, CString szSyntaxFile, CString szAutoCompFile, CString szExtensions ) { - CString szNumber; - unsigned int uiCount; pug::xml_node xnode; - pug::xml_attribute xattribute; // A language does at least need a name. if( szName.IsEmpty() ) return false; xnode = GetLanguagesNode(); if( xnode.empty() ) return false; - uiCount = xnode.children(); - szNumber.Format( "%i", uiCount + 1 ); - - xattribute = xnode.attribute( ATT_LANGUAGES_COUNT ); - if( xattribute.empty() ) return false; - - if( !xattribute.value( szNumber ) ) return false; - - // This is the point where the file is modified. - m_bModified = true; - // Add a new language tag xnode = xnode.append_child( pug::node_element ); if( xnode.empty() ) return false; ! if( !xnode.name( TAG_LANGUAGE ) ) return false; ! // Set the language number ! xattribute = xnode.append_attribute( ATT_LANGUAGE_NUMBER, (long)uiCount ); ! if( xattribute.empty() ) return false; // Add the language name --- 371,394 ---- bool CConfigFile::AddLanguage( CString szName, CString szSyntaxFile, CString szAutoCompFile, CString szExtensions ) { pug::xml_node xnode; // A language does at least need a name. if( szName.IsEmpty() ) return false; + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return false; + xnode = GetLanguagesNode(); if( xnode.empty() ) return false; // Add a new language tag xnode = xnode.append_child( pug::node_element ); if( xnode.empty() ) return false; ! // This is the point where the file is modified. ! m_bModified = true; ! // Set the tagname of the new child ! if( !xnode.name( TAG_LANGUAGE ) ) return false; // Add the language name *************** *** 408,453 **** bool CConfigFile::RemoveLanguage( int iNumber ) { - CString szNumber; - unsigned int uiCount; pug::xml_node xnode; - pug::xml_node rnode; - pug::xml_attribute xattribute; - - xnode = GetLanguagesNode(); - if( xnode.empty() && !xnode.children() ) return false; - - uiCount = xnode.children(); - szNumber.Format( "%i", uiCount - 1 ); - - xattribute = xnode.attribute( ATT_LANGUAGES_COUNT ); - if( xattribute.empty() ) return false; - - if( !xattribute.value( szNumber ) ) return false; ! // This is the point where the file is changed. ! m_bModified = true; ! ! szNumber.Format( "%i", iNumber ); ! rnode = xnode.first_element_by_attribute( TAG_LANGUAGE, ATT_LANGUAGE_NUMBER, szNumber ); ! if( rnode.empty() && !rnode.children() ) return false; ! uiCount = xnode.children(); ! if( uiCount < iNumber ) return false; // Remove the child ! xnode.remove_child( iNumber ); ! ! // Renumber the remaining Language nodes. ! while( iNumber < uiCount - 1 ) ! { ! szNumber.Format( "%i", iNumber ); ! rnode = xnode.child( iNumber ); ! xattribute = rnode.attribute( ATT_LANGUAGE_NUMBER ); ! xattribute.value( szNumber ); ! ++ iNumber; ! } ! ! return true; } --- 422,438 ---- bool CConfigFile::RemoveLanguage( int iNumber ) { pug::xml_node xnode; ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return false; ! xnode = GetLanguagesNode(); ! if( xnode.empty() ) return false; ! // Check if it is a valid number ! if( iNumber >= xnode.children() ) return false; // Remove the child ! return m_bModified = xnode.remove_child( iNumber ); } *************** *** 599,603 **** unsigned int CConfigFile::GetFileFiltersCount() { ! if( !m_bParsed ) Parse(); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_FILTERS ) ); --- 584,589 ---- unsigned int CConfigFile::GetFileFiltersCount() { ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return 0; pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_FILTERS ) ); *************** *** 609,617 **** CString CConfigFile::GetFileFilter( unsigned int iNumber ) { ! if( !m_bParsed ) Parse(); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_FILTERS ) ); if( xnode.empty() || iNumber >= xnode.children() ) return ""; if( !xnode.child(0).has_child_nodes() ) return ""; return xnode.child( iNumber ).child(0).value(); } --- 595,606 ---- CString CConfigFile::GetFileFilter( unsigned int iNumber ) { ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return _T(""); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_FILTERS ) ); if( xnode.empty() || iNumber >= xnode.children() ) return ""; + if( !xnode.child(0).has_child_nodes() ) return ""; + return xnode.child( iNumber ).child(0).value(); } *************** *** 620,627 **** bool CConfigFile::RemoveAllFileFilters() { ! if( !m_bParsed ) Parse(); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_FILTERS ) ); if( xnode.empty() || !xnode.has_child_nodes() ) return false; while( xnode.has_child_nodes() ) { --- 609,618 ---- bool CConfigFile::RemoveAllFileFilters() { ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return false; pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_FILTERS ) ); if( xnode.empty() || !xnode.has_child_nodes() ) return false; + while( xnode.has_child_nodes() ) { *************** *** 629,632 **** --- 620,624 ---- m_bModified = true; } + return true; } *************** *** 635,649 **** bool CConfigFile::AddFileFilter( CString szFilter ) { ! if( !m_bParsed ) Parse(); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_FILTERS ) ); if( xnode.empty() ) return false; xnode = xnode.append_child( pug::node_element ); if( xnode.empty() ) return false; m_bModified = true; xnode.name( TAG_FILTER ); xnode = xnode.append_child( pug::node_pcdata ); if( xnode.empty() ) return false; xnode.value( szFilter ); return true; } --- 627,648 ---- bool CConfigFile::AddFileFilter( CString szFilter ) { ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return false; pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_FILTERS ) ); if( xnode.empty() ) return false; + xnode = xnode.append_child( pug::node_element ); if( xnode.empty() ) return false; + m_bModified = true; + xnode.name( TAG_FILTER ); + xnode = xnode.append_child( pug::node_pcdata ); if( xnode.empty() ) return false; + xnode.value( szFilter ); + return true; } *************** *** 652,659 **** int CConfigFile::GetFileFilterDefault() { ! if( !m_bParsed ) Parse(); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_FILTERS ) ); if( xnode.empty() || !xnode.has_attributes() ) return 0; return atoi( xnode.attribute( ATT_FILTER_DEFAULT ) ); } --- 651,660 ---- int CConfigFile::GetFileFilterDefault() { ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return 0; pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_FILTERS ) ); if( xnode.empty() || !xnode.has_attributes() ) return 0; + return atoi( xnode.attribute( ATT_FILTER_DEFAULT ) ); } *************** *** 664,672 **** CString szDefault; ! if( !m_bParsed ) Parse(); szDefault.Format( "%i", iDefault ); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_FILTERS ) ); if( xnode.empty() ) return false; if( !xnode.has_attributes() || !xnode.has_attribute( ATT_FILTER_DEFAULT ) ) { --- 665,675 ---- CString szDefault; ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return false; szDefault.Format( "%i", iDefault ); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_FILTERS ) ); if( xnode.empty() ) return false; + if( !xnode.has_attributes() || !xnode.has_attribute( ATT_FILTER_DEFAULT ) ) { *************** *** 675,681 **** else { - xnode.attribute( ATT_FILTER_DEFAULT ).value( szDefault ); } return m_bModified = true; } --- 678,684 ---- else { xnode.attribute( ATT_FILTER_DEFAULT ).value( szDefault ); } + return m_bModified = true; } *************** *** 684,688 **** unsigned int CConfigFile::GetFileAssociationCount() { ! if( !m_bParsed ) Parse(); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); --- 687,692 ---- unsigned int CConfigFile::GetFileAssociationCount() { ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return 0; pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); *************** *** 694,701 **** CString CConfigFile::GetFileClassDescription( unsigned int iIndex ) { ! if( !m_bParsed ) Parse(); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); if( xnode.empty() || !xnode.has_child_nodes() || xnode.children() <= iIndex ) return _T(""); xnode = xnode.child( iIndex ); if( xnode.empty() || !xnode.has_child_nodes() ) return _T(""); --- 698,707 ---- CString CConfigFile::GetFileClassDescription( unsigned int iIndex ) { ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return _T(""); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); if( xnode.empty() || !xnode.has_child_nodes() || xnode.children() <= iIndex ) return _T(""); + xnode = xnode.child( iIndex ); if( xnode.empty() || !xnode.has_child_nodes() ) return _T(""); *************** *** 706,713 **** CString CConfigFile::GetFileClassExtension( unsigned int iIndex ) { ! if( !m_bParsed ) Parse(); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); if( xnode.empty() || !xnode.has_child_nodes() || xnode.children() <= iIndex ) return _T(""); xnode = xnode.child( iIndex ); if( xnode.empty() || !xnode.has_attributes() ) return _T(""); --- 712,721 ---- CString CConfigFile::GetFileClassExtension( unsigned int iIndex ) { ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return _T(""); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); if( xnode.empty() || !xnode.has_child_nodes() || xnode.children() <= iIndex ) return _T(""); + xnode = xnode.child( iIndex ); if( xnode.empty() || !xnode.has_attributes() ) return _T(""); *************** *** 721,728 **** int CConfigFile::GetFileClassIcon( unsigned int iIndex ) { ! if( !m_bParsed ) Parse(); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); if( xnode.empty() || !xnode.has_child_nodes() || xnode.children() <= iIndex ) return -1; xnode = xnode.child( iIndex ); if( xnode.empty() || !xnode.has_attributes() ) return -1; --- 729,738 ---- int CConfigFile::GetFileClassIcon( unsigned int iIndex ) { ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return -1; pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); if( xnode.empty() || !xnode.has_child_nodes() || xnode.children() <= iIndex ) return -1; + xnode = xnode.child( iIndex ); if( xnode.empty() || !xnode.has_attributes() ) return -1; *************** *** 737,744 **** { unsigned int iCount; ! if( !m_bParsed ) Parse(); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); if( xnode.empty() || !xnode.has_child_nodes() ) return -1; for( iCount = 0; iCount < xnode.children(); ++ iCount ) { --- 747,757 ---- { unsigned int iCount; ! ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return -1; pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); if( xnode.empty() || !xnode.has_child_nodes() ) return -1; + for( iCount = 0; iCount < xnode.children(); ++ iCount ) { *************** *** 753,763 **** { char szNumber[4]; ! if( !m_bParsed ) Parse(); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); if( xnode.empty() || !xnode.has_child_nodes() || xnode.children() <= iIndex ) return false; if( !xnode.child( iIndex ).attribute( ATT_FILECLASS_EXTENSION ).value( szExtension ) ) return false; sprintf( szNumber, "%i", iIcon ); if( !xnode.child( iIndex ).attribute( ATT_FILECLASS_ICON ).value( szNumber ) ) return false; if( !xnode.child( iIndex ).child(0).value( szDescription ) ) return false; --- 766,781 ---- { char szNumber[4]; ! ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return false; pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); if( xnode.empty() || !xnode.has_child_nodes() || xnode.children() <= iIndex ) return false; + if( !xnode.child( iIndex ).attribute( ATT_FILECLASS_EXTENSION ).value( szExtension ) ) return false; + sprintf( szNumber, "%i", iIcon ); if( !xnode.child( iIndex ).attribute( ATT_FILECLASS_ICON ).value( szNumber ) ) return false; + if( !xnode.child( iIndex ).child(0).value( szDescription ) ) return false; *************** *** 768,772 **** bool CConfigFile::AddFileClass( CString& szExtension, CString& szDescription, unsigned int iIcon ) { ! if( !m_bParsed ) Parse(); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); --- 786,791 ---- bool CConfigFile::AddFileClass( CString& szExtension, CString& szDescription, unsigned int iIcon ) { ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return false; pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); *************** *** 796,800 **** bool CConfigFile::RemoveFileClass( unsigned int iIndex ) { ! if( !m_bParsed ) Parse(); pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); --- 815,820 ---- bool CConfigFile::RemoveFileClass( unsigned int iIndex ) { ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return false; pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_FILE_ASSOCIATIONS ) ); *************** *** 1024,1030 **** CString CConfigFile::GetInsertTextWord( unsigned int uiIndex ) { pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_INSERTTEXT ) ); if( xnode.empty() ) return _T(""); ! xnode = xnode.first_element_by_name( TAG_INSERTTEXT_INSERTWORDS ); if( xnode.empty() || !xnode.has_child_nodes() ) return _T(""); --- 1044,1053 ---- CString CConfigFile::GetInsertTextWord( unsigned int uiIndex ) { + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return _T(""); + pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_INSERTTEXT ) ); if( xnode.empty() ) return _T(""); ! xnode = xnode.first_element_by_name( TAG_INSERTTEXT_INSERTWORDS ); if( xnode.empty() || !xnode.has_child_nodes() ) return _T(""); *************** *** 1043,1049 **** bool CConfigFile::AddInsertTextWord( const CString& szWord ) { pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_INSERTTEXT ) ); if( xnode.empty() ) return false; ! xnode = xnode.first_element_by_name( TAG_INSERTTEXT_INSERTWORDS ); if( xnode.empty() ) return false; --- 1066,1075 ---- bool CConfigFile::AddInsertTextWord( const CString& szWord ) { + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return false; + pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_INSERTTEXT ) ); if( xnode.empty() ) return false; ! xnode = xnode.first_element_by_name( TAG_INSERTTEXT_INSERTWORDS ); if( xnode.empty() ) return false; *************** *** 1065,1074 **** bool CConfigFile::RemoveInsertTextWords() { pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_INSERTTEXT ) ); if( xnode.empty() ) return false; ! xnode = xnode.first_element_by_name( TAG_INSERTTEXT_INSERTWORDS ); if( xnode.empty() ) return false; ! while( xnode.has_child_nodes() ) { --- 1091,1103 ---- bool CConfigFile::RemoveInsertTextWords() { + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return false; + pug::xml_node xnode( m_xml_parser.document().first_element_by_name( TAG_INSERTTEXT ) ); if( xnode.empty() ) return false; ! xnode = xnode.first_element_by_name( TAG_INSERTTEXT_INSERTWORDS ); if( xnode.empty() ) return false; ! while( xnode.has_child_nodes() ) { |
From: Leon W. <moo...@us...> - 2005-04-11 08:31:00
|
Update of /cvsroot/anyedit/AnyEditBin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15975 Modified Files: SciLexer.dll Log Message: - 1.63 version of the dll (with patch). Index: SciLexer.dll =================================================================== RCS file: /cvsroot/anyedit/AnyEditBin/SciLexer.dll,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 Binary files /tmp/cvsKdeYNG and /tmp/cvsJyJTl0 differ |
From: Leon W. <moo...@us...> - 2005-04-11 08:27:31
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14758 Modified Files: AnyEditToDoList.xml ChangeLog.txt Log Message: - Updated with the latest changes. Index: ChangeLog.txt =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/ChangeLog.txt,v retrieving revision 1.82 retrieving revision 1.83 diff -C2 -d -r1.82 -r1.83 *** ChangeLog.txt 4 Feb 2005 14:05:26 -0000 1.82 --- ChangeLog.txt 11 Apr 2005 08:27:23 -0000 1.83 *************** *** 12,16 **** 7) Bugfix: Open Last Workspace and Command Line File, didn't focus on the command line file. 8) Cleared up Startup code, so we have less flickering. ! AnyEdit 2.0 Beta 3 build 401 --- 12,29 ---- 7) Bugfix: Open Last Workspace and Command Line File, didn't focus on the command line file. 8) Cleared up Startup code, so we have less flickering. ! 9) Bugfix: Find results were hidden by a fold. Folds are now opened. [#1114712] ! 10) Bugfix: Find in Files didn't make OutputBar visible when hidden. ! 11) Bugfix: Copy on Select was default on for New files. ! 12) Bugfix: Open Startup Page menu item was hidden when no Startup Page open. ! 13) Console Application ToolRunning rewritten, so it's able to run batch files. ! 14) Added cscript.exe support, to run scripts as tools. ! 15) Added support to run help files as tools. .Hlp files are shown with winhlp32.exe, ! else HtmlHelp function is called on the tool. ! 16) Added Lanuage Menu to be able to change the Syntax Highlighting language of the current document. ! 17) Removed Show/Hide from menu items in the View menu now they are only Checked. ! 18) Improved proved document opening speed by having a cached space separated keyword list. ! 19) Syntax Files are parsed in the background in a separate thread, to improve speed. ! 19) Upgrade to Scintilla 1.63. ! AnyEdit 2.0 Beta 3 build 401 Index: AnyEditToDoList.xml =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEditToDoList.xml,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** AnyEditToDoList.xml 4 Feb 2005 14:05:25 -0000 1.34 --- AnyEditToDoList.xml 11 Apr 2005 08:27:23 -0000 1.35 *************** *** 1,4 **** <?xml version="1.0" encoding="windows-1252"?> ! <TODOLIST FILEFORMAT="6" PROJECTNAME="AnyEdit ToDo List" NEXTUNIQUEID="724" FILEVERSION="135" LASTMODIFIED="2005-02-04"> <TASK STARTDATESTRING="2004-04-20" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38240.34590278" TITLE="Source Code" TIMEESTUNITS="H" COMMENTS="Coding Conventions and Development Guidelines." ID="154" STARTDATE="38097.00000000" POS="1"> <TASK STARTDATESTRING="2004-04-07" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38125.66063657" TITLE="Doxygen Comment" TIMEESTUNITS="H" PERSON="LW, DP, CS, GH" COMMENTS="Source Documentation is Mandatory. We shall gradually add it along the way." ID="16" STARTDATE="38084.00000000" POS="1"/> --- 1,4 ---- <?xml version="1.0" encoding="windows-1252"?> ! <TODOLIST FILEFORMAT="6" PROJECTNAME="AnyEdit ToDo List" NEXTUNIQUEID="740" FILEVERSION="145" LASTMODIFIED="2005-04-11"> <TASK STARTDATESTRING="2004-04-20" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38240.34590278" TITLE="Source Code" TIMEESTUNITS="H" COMMENTS="Coding Conventions and Development Guidelines." ID="154" STARTDATE="38097.00000000" POS="1"> <TASK STARTDATESTRING="2004-04-07" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38125.66063657" TITLE="Doxygen Comment" TIMEESTUNITS="H" PERSON="LW, DP, CS, GH" COMMENTS="Source Documentation is Mandatory. We shall gradually add it along the way." ID="16" STARTDATE="38084.00000000" POS="1"/> *************** *** 13,18 **** <TASK STARTDATESTRING="2004-04-20" PRIORITY="3" TIMEESPENTUNITS="H" LASTMOD="38369.70535880" TITLE="Feature Requests" TIMEESTUNITS="H" COMMENTS="The requests we get from users and fellow developers about enhancing AE. These will not be implemented. We may decide to put it in the nominated features." ID="157" STARTDATE="38097.00000000" POS="8"> <TASK STARTDATESTRING="2004-04-05" PRIORITY="2" TIMEESPENTUNITS="H" LASTMOD="38175.93320602" TITLE="Translation" TIMEESTUNITS="H" PERSON="None" COMMENTS="customizable with XML files ! [CS] Why to reinvent the wheel? We should try to use standards like GNU gettext. The source files are okay but I don't like compiled mo format. I want to have a text based format." ID="9" STARTDATE="38082.00000000" POS="34"/> ! <TASK STARTDATESTRING="2004-04-05" PRIORITY="0" TIMEESPENTUNITS="H" LASTMOD="38084.33862269" TITLE="Lexer" TIMEESTUNITS="H" PERSON="None" COMMENTS="Use universal lexer: colorer" ID="13" STARTDATE="38082.00000000" POS="36"/> <TASK STARTDATESTRING="2004-04-07" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38285.49934028" TITLE="New Tool Tokens" TIMEESTUNITS="H" PERSON="None" COMMENTS="$FILE $FILENAME --- 13,18 ---- <TASK STARTDATESTRING="2004-04-20" PRIORITY="3" TIMEESPENTUNITS="H" LASTMOD="38369.70535880" TITLE="Feature Requests" TIMEESTUNITS="H" COMMENTS="The requests we get from users and fellow developers about enhancing AE. These will not be implemented. We may decide to put it in the nominated features." ID="157" STARTDATE="38097.00000000" POS="8"> <TASK STARTDATESTRING="2004-04-05" PRIORITY="2" TIMEESPENTUNITS="H" LASTMOD="38175.93320602" TITLE="Translation" TIMEESTUNITS="H" PERSON="None" COMMENTS="customizable with XML files ! [CS] Why to reinvent the wheel? We should try to use standards like GNU gettext. The source files are okay but I don't like compiled mo format. I want to have a text based format." ID="9" STARTDATE="38082.00000000" POS="40"/> ! <TASK STARTDATESTRING="2004-04-05" PRIORITY="0" TIMEESPENTUNITS="H" LASTMOD="38084.33862269" TITLE="Lexer" TIMEESTUNITS="H" PERSON="None" COMMENTS="Use universal lexer: colorer" ID="13" STARTDATE="38082.00000000" POS="42"/> <TASK STARTDATESTRING="2004-04-07" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38285.49934028" TITLE="New Tool Tokens" TIMEESTUNITS="H" PERSON="None" COMMENTS="$FILE $FILENAME *************** *** 28,33 **** *$SAVE Note not all are added and working yet. ! [LW] Posted a question to the teammembers for more ideas. No reaction yet." ID="41" STARTDATE="38084.00000000" POS="25"/> ! <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.50518519" TITLE="Export" TIMEESTUNITS="H" PERSON="None" COMMENTS="Export as file or to clipboard. Export range or full text." ID="60" STARTDATE="38092.00000000" POS="10"> <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.50521991" TITLE="HTML" TIMEESTUNITS="H" PERSON="None" ID="61" STARTDATE="38092.00000000" POS="1"/> <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.50524306" TITLE="XHTML" TIMEESTUNITS="H" PERSON="None" ID="62" STARTDATE="38092.00000000" POS="2"/> --- 28,33 ---- *$SAVE Note not all are added and working yet. ! [LW] Posted a question to the teammembers for more ideas. No reaction yet." ID="41" STARTDATE="38084.00000000" POS="27"/> ! <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.50518519" TITLE="Export" TIMEESTUNITS="H" PERSON="None" COMMENTS="Export as file or to clipboard. Export range or full text." ID="60" STARTDATE="38092.00000000" POS="12"> <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.50521991" TITLE="HTML" TIMEESTUNITS="H" PERSON="None" ID="61" STARTDATE="38092.00000000" POS="1"/> <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.50524306" TITLE="XHTML" TIMEESTUNITS="H" PERSON="None" ID="62" STARTDATE="38092.00000000" POS="2"/> *************** *** 36,60 **** <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.50535880" TITLE="XML" TIMEESTUNITS="H" PERSON="None" ID="66" STARTDATE="38092.00000000" POS="5"/> </TASK> ! <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.50931713" TITLE="SelectionFilename" TIMEESTUNITS="H" PERSON="None" COMMENTS="Opens filename under cursor like in VS." ID="69" STARTDATE="38092.00000000" POS="11"/> <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38175.93557870" TITLE="Mark last current line" TIMEESTUNITS="H" PERSON="None" COMMENTS="Remember and mark last current line. So we can see and go to last current line. [LW] Isn't this already there? ! [CS] I have seen that sometimes lines are marked e.g. after goto line. But I want to have a more generally solution. Idea: We can use markers they could be invisble. We store the last three current lines. We need a function to jump to previous last current line in list. So we could alternate the position every time function was called. When a new current line is inserted we remove the first entry." ID="106" STARTDATE="38092.00000000" POS="1"/> ! <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.56655093" TITLE="Hex-Mode" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#799608]" ID="118" STARTDATE="38092.00000000" POS="2"/> <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38097.56866898" TITLE="File info and statistics" TIMEESTUNITS="H" PERSON="None" COMMENTS="Path, date of creation, file size.Used words, chars. ! [LW] Is used words, chars sensible on source code. Besides that I have code that calculates these things." ID="120" STARTDATE="38092.00000000" POS="3"/> ! <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38097.55356481" TITLE="Convertions" TIMEESTUNITS="H" PERSON="None" ID="129" STARTDATE="38092.00000000" POS="5"> <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38097.56954861" TITLE="ASCII to HTML" TIMEESTUNITS="H" PERSON="None" COMMENTS="For example > to &gt;" ID="130" STARTDATE="38092.00000000" POS="1"/> <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38097.56959491" TITLE="ASCII to LaTeX" TIMEESTUNITS="H" PERSON="None" ID="131" STARTDATE="38092.00000000" POS="2"/> </TASK> ! <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38097.55364583" TITLE="Ruler" TIMEESTUNITS="H" PERSON="None" COMMENTS="Show a ruler for positions in text. Only works with non proportional font." ID="133" STARTDATE="38092.00000000" POS="6"/> ! <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.54857639" TITLE="Speller" TIMEESTUNITS="H" PERSON="None" COMMENTS="Use a speller with underlined text like in WinWord. [#700320]" ID="134" STARTDATE="38092.00000000" POS="7"/> ! <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38097.55376157" TITLE="Multiple Clipboards" TIMEESTUNITS="H" PERSON="None" ID="137" STARTDATE="38092.00000000" POS="4"/> <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38175.93346065" TITLE="Show ASCII table" TIMEESTUNITS="H" PERSON="None" COMMENTS="Show table with ASCII codes, dec and hex, HTML command [LW] HTML commands can come from the clip text ! [CS] PSPad has this ASCII table" ID="143" STARTDATE="38092.00000000" POS="8"/> <TASK STARTDATESTRING="2004-04-16" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38131.38543981" TITLE="ActiveScripting" TIMEESTUNITS="H" PERSON="None" COMMENTS="Implementation of WSH so we can control AE from other applications. ! Note: WSH doesn't mean we can control AE - we'll need to impelent a specific interface only" ID="148" STARTDATE="38093.00000000" POS="9"/> ! <TASK STARTDATESTRING="2004-04-26" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38261.92809028" TITLE="Tool Execution Context Menu Class View" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#789249]" ID="176" STARTDATE="38103.00000000" POS="22"/> ! <TASK STARTDATESTRING="2004-04-26" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.56991898" TITLE="SourceForge RFE" TIMEESTUNITS="H" COMMENTS="Things I couldn't or didn't want to place yet." ID="181" STARTDATE="38103.00000000" POS="13"> <TASK STARTDATESTRING="2004-04-26" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.57002315" TITLE="Class View Quick Search" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#770950]" ID="171" STARTDATE="38103.00000000" POS="2"/> <TASK STARTDATESTRING="2004-04-26" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.56887731" TITLE="AE config : merge Default and AE_Doc" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#798529]" ID="182" STARTDATE="38103.00000000" POS="1"/> --- 36,60 ---- <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.50535880" TITLE="XML" TIMEESTUNITS="H" PERSON="None" ID="66" STARTDATE="38092.00000000" POS="5"/> </TASK> ! <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.50931713" TITLE="SelectionFilename" TIMEESTUNITS="H" PERSON="None" COMMENTS="Opens filename under cursor like in VS." ID="69" STARTDATE="38092.00000000" POS="13"/> <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38175.93557870" TITLE="Mark last current line" TIMEESTUNITS="H" PERSON="None" COMMENTS="Remember and mark last current line. So we can see and go to last current line. [LW] Isn't this already there? ! [CS] I have seen that sometimes lines are marked e.g. after goto line. But I want to have a more generally solution. Idea: We can use markers they could be invisble. We store the last three current lines. We need a function to jump to previous last current line in list. So we could alternate the position every time function was called. When a new current line is inserted we remove the first entry." ID="106" STARTDATE="38092.00000000" POS="3"/> ! <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.56655093" TITLE="Hex-Mode" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#799608]" ID="118" STARTDATE="38092.00000000" POS="4"/> <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38097.56866898" TITLE="File info and statistics" TIMEESTUNITS="H" PERSON="None" COMMENTS="Path, date of creation, file size.Used words, chars. ! [LW] Is used words, chars sensible on source code. Besides that I have code that calculates these things." ID="120" STARTDATE="38092.00000000" POS="5"/> ! <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38097.55356481" TITLE="Convertions" TIMEESTUNITS="H" PERSON="None" ID="129" STARTDATE="38092.00000000" POS="7"> <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38097.56954861" TITLE="ASCII to HTML" TIMEESTUNITS="H" PERSON="None" COMMENTS="For example > to &gt;" ID="130" STARTDATE="38092.00000000" POS="1"/> <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38097.56959491" TITLE="ASCII to LaTeX" TIMEESTUNITS="H" PERSON="None" ID="131" STARTDATE="38092.00000000" POS="2"/> </TASK> ! <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38097.55364583" TITLE="Ruler" TIMEESTUNITS="H" PERSON="None" COMMENTS="Show a ruler for positions in text. Only works with non proportional font." ID="133" STARTDATE="38092.00000000" POS="8"/> ! <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.54857639" TITLE="Speller" TIMEESTUNITS="H" PERSON="None" COMMENTS="Use a speller with underlined text like in WinWord. [#700320]" ID="134" STARTDATE="38092.00000000" POS="9"/> ! <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38097.55376157" TITLE="Multiple Clipboards" TIMEESTUNITS="H" PERSON="None" ID="137" STARTDATE="38092.00000000" POS="6"/> <TASK STARTDATESTRING="2004-04-15" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38175.93346065" TITLE="Show ASCII table" TIMEESTUNITS="H" PERSON="None" COMMENTS="Show table with ASCII codes, dec and hex, HTML command [LW] HTML commands can come from the clip text ! [CS] PSPad has this ASCII table" ID="143" STARTDATE="38092.00000000" POS="10"/> <TASK STARTDATESTRING="2004-04-16" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38131.38543981" TITLE="ActiveScripting" TIMEESTUNITS="H" PERSON="None" COMMENTS="Implementation of WSH so we can control AE from other applications. ! Note: WSH doesn't mean we can control AE - we'll need to impelent a specific interface only" ID="148" STARTDATE="38093.00000000" POS="11"/> ! <TASK STARTDATESTRING="2004-04-26" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38261.92809028" TITLE="Tool Execution Context Menu Class View" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#789249]" ID="176" STARTDATE="38103.00000000" POS="24"/> ! <TASK STARTDATESTRING="2004-04-26" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.56991898" TITLE="SourceForge RFE" TIMEESTUNITS="H" COMMENTS="Things I couldn't or didn't want to place yet." ID="181" STARTDATE="38103.00000000" POS="15"> <TASK STARTDATESTRING="2004-04-26" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.57002315" TITLE="Class View Quick Search" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#770950]" ID="171" STARTDATE="38103.00000000" POS="2"/> <TASK STARTDATESTRING="2004-04-26" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.56887731" TITLE="AE config : merge Default and AE_Doc" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#798529]" ID="182" STARTDATE="38103.00000000" POS="1"/> *************** *** 65,140 **** <TASK STARTDATESTRING="2004-09-29" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38259.49864583" TITLE="build dependencies & assembler parser" TIMEESTUNITS="H" COMMENTS="[#1032599]" ID="431" STARTDATE="38259.00000000" POS="7"/> </TASK> ! <TASK STARTDATESTRING="2004-04-26" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.56884259" TITLE="A list of callers of highlighted function" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#799526]" ID="183" STARTDATE="38103.00000000" POS="23"/> <TASK STARTDATESTRING="2004-04-26" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.57464120" TITLE="HTML Tags and Color Picker" TIMEESTUNITS="H" PERSON="None" COMMENTS="Clip Texts? ! [#900515]" ID="188" STARTDATE="38103.00000000" POS="21"/> ! <TASK STARTDATESTRING="2004-04-26" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38259.49758102" TITLE="Unicode Support" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1025633]" ID="194" STARTDATE="38103.00000000" POS="12"/> ! <TASK STARTDATESTRING="2004-05-22" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38131.38060185" TITLE="Mark compile errors while typing" TIMEESTUNITS="H" PERSON="None" COMMENTS="This other neat feature allows background compiling of the current file as you type, and will mark all the errors and warnings as squiggly lines under the text (same as misspelled words in Word)" ID="240" STARTDATE="38129.00000000" POS="24"/> <TASK STARTDATESTRING="2004-05-22" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38175.93368056" TITLE="Internal Scripting" TIMEESTUNITS="H" PERSON="None" COMMENTS="Added a scripting engine to AnyEdit for macros, commands, etc. etc. I believe there are a few nice open source libraries that can be plugged in an application and will provide most of the features we want - need to hunt through SourceForge a little for those. ! [CS] What about lua? Scite use lua and I think it is simple and powerful." ID="241" STARTDATE="38129.00000000" POS="14"/> ! <TASK STARTDATESTRING="2004-07-07" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38176.33775463" TITLE="Tab use columns from line before" TIMEESTUNITS="H" PERSON="None" COMMENTS="If you have a table like text it would be nice when tab jumps to next beginning of text in previous line. PSPad has this feature." ID="268" STARTDATE="38175.00000000" POS="15"/> <TASK STARTDATESTRING="2004-07-07" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38176.33803241" TITLE="Remember last x-position" TIMEESTUNITS="H" PERSON="None" COMMENTS="This feature is difficult to describe. I want to remember the x position in last line. But this is not the current cursor pos in line. ! e.g. I add a text in a line at position 10. The current position might be 15 now. With cursor down I want to have cursor on position 10." ID="271" STARTDATE="38175.00000000" POS="16"/> <TASK STARTDATESTRING="2004-07-07" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38240.37414352" TITLE="open more than one file with command line" TIMEESTUNITS="H" PERSON="None" COMMENTS="I added a link in Send to folder. It works fine with on document but I can't open more than one file at same time. ! [LW] There are some nice code project documents about it Idiot guide to shell......" ID="278" STARTDATE="38175.00000000" POS="17"/> <TASK STARTDATESTRING="2004-08-30" PRIORITY="1" TIMEESPENTUNITS="H" LASTMOD="38231.30290509" TITLE="Physical Project Management" TIMEESTUNITS="H" PERSON="None" COMMENTS="Physicaly managing the project administration from the workspace area. (Directly affacting the filesystem.) [#1018872] ! [LW] Guy do you know what is meant?" ID="349" STARTDATE="38229.00000000" POS="35"/> ! <TASK STARTDATESTRING="2004-08-31" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38230.34651620" TITLE="XML support in ctags" TIMEESTUNITS="H" PERSON="None" COMMENTS="To be able to display the document structure in the ClassView" ID="378" STARTDATE="38230.00000000" POS="18"/> ! <TASK STARTDATESTRING="2004-08-31" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38230.34719907" TITLE="Match Tags in html/xml" TIMEESTUNITS="H" PERSON="None" COMMENTS="Matching opening and closing tags and probably jump from one to the other." ID="379" STARTDATE="38230.00000000" POS="19"/> ! <TASK STARTDATESTRING="2004-09-10" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38240.37351852" TITLE="ASP Folding" TIMEESTUNITS="H" PERSON="None" COMMENTS="This should be added to Scintilla. Maybe we can add it and give the code to scintilla." ID="401" STARTDATE="38240.00000000" POS="20"/> ! <TASK STARTDATESTRING="2004-09-17" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38369.36892361" TITLE="Allow tools to use OutputBar as Stdin." TIMEESTUNITS="H" PERSON="None" ID="407" STARTDATE="38247.00000000" POS="31"/> ! <TASK STARTDATESTRING="2004-09-17" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38247.58223380" TITLE="Refactoring" TIMEESTUNITS="H" PERSON="None" COMMENTS="[CS] Add refactoring. Similar to task 238. This is a nice feature but it is very difficult to implement. This can be done as plugin?" ID="410" STARTDATE="38247.00000000" POS="30"/> <TASK STARTDATESTRING="2004-10-25" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38285.50010417" TITLE="Auto insert EOL character after word wrap" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1039736] Automatically adding a EOL after a word wrap. ! [LW] I think saving with hard EOL's is a better solution (and easier to implement?)?" ID="692" STARTDATE="38285.00000000" POS="26"/> ! <TASK STARTDATESTRING="2005-01-17" PRIORITY="0" TIMEESPENTUNITS="H" LASTMOD="38369.35252315" TITLE="Different folding" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1079990] Request for different folding. The folding should take place at the function name, instead of the first brace. This probably implies changing the C Lexer of scintilla. Do we want this?" ID="709" STARTDATE="38369.00000000" POS="37"/> ! <TASK STARTDATESTRING="2005-01-17" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38369.35340278" TITLE="Linux and/or Wine support" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1082971]" ID="710" STARTDATE="38369.00000000" POS="27"/> ! <TASK STARTDATESTRING="2005-01-17" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38369.35795139" TITLE="RTF Copy" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1091747]" ID="712" STARTDATE="38369.00000000" POS="28"/> ! <TASK STARTDATESTRING="2005-01-17" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38369.35930556" TITLE="JSP Support" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1097066] Syntax Highlighting is done, but ctags info I don't know." ID="713" STARTDATE="38369.00000000" POS="29"/> ! <TASK STARTDATESTRING="2005-01-28" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38384.35459491" TITLE="Split file view" TIMEESTUNITS="H" COMMENTS="[#1108209] Split the file view of the Workspace bar in half. Top containing dires, bottom containing the files in the dir." ID="721" STARTDATE="38380.37525463" POS="32"/> <TASK STARTDATESTRING="2005-01-28" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38384.35622685" TITLE="Compiler Integration" TIMEESTUNITS="H" COMMENTS="VC/Java/Gcc(MingW) compiler integration ! [#1106366]" ID="722" STARTDATE="38380.37525463" POS="33"/> </TASK> <TASK STARTDATESTRING="2004-04-20" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38230.35178241" TITLE="Bugs" TIMEESTUNITS="H" COMMENTS="Or undocumented features." ID="161" STARTDATE="38097.00000000" POS="2"> ! <TASK STARTDATESTRING="2004-06-01" PRIORITY="1" TIMEESPENTUNITS="H" LASTMOD="38230.33956019" TITLE="Pugxml bug" TIMEESTUNITS="H" PERSON="None" COMMENTS="There is a bug in pugxml iterators that I can't explain. When using * or -> on an iterator, we get memory faults in the forward_class. I worked around it, but we may need to look at it in the future." ID="247" STARTDATE="38139.00000000" POS="9"/> <TASK STARTDATESTRING="2004-07-07" PRIORITY="4" TIMEESPENTUNITS="H" LASTMOD="38386.39232639" TITLE="Home.htm supports drag'n'drop" TIMEESTUNITS="H" PERSON="GH" COMMENTS="If I drag a textfile from Explorer to home.htm it was shown in this (browser) window. Is this a bug or a feature? Is it possible to open other browser windows in AE? [LW] If you drag a html file to StartupPage, the page displays the html file, but doesn't update the filename in the tab! ! [LW] Should we open a new window when a file is drag'd' to the Startup Page?" ID="270" STARTDATE="38175.00000000" POS="5"/> <TASK STARTDATESTRING="2004-07-22" PRIORITY="3" TIMEESPENTUNITS="H" LASTMOD="38323.01116898" TITLE="EOL characters get colored" TIMEESTUNITS="H" PERSON="CS" COMMENTS="On a document with CRLF EOL characters the CR gets the same color as the text on the line, but the LF is black. Scinitlla bug? [LW] It's added to the Scintilla Repository. Now al we need is update to the next version when it is released. ! " ID="299" PERCENTDONE="100" STARTDATE="38190.00000000" DONEDATESTRING="2004-12-02" POS="18" DONEDATE="38323.00000000"/> ! <TASK STARTDATESTRING="2004-08-31" PRIORITY="7" TIMEESPENTUNITS="H" LASTMOD="38386.39165509" TITLE="Pause when opening files." TIMEESTUNITS="H" PERSON="None" COMMENTS="AnyEdit pauses when opening documents. This is noticeable on slow machines and with opening large syntax files (java/html). Setting the scintilla properties is probably the cause of the problem. We should see if we can fix this. ! [LW] Can't we parse the syntax files in a separate low priority thread. It looks like AnyEdit has started, but in the brackground it is still parsing the configs/syntax files. ! " ID="374" STARTDATE="38230.00000000" POS="1"/> <TASK STARTDATESTRING="2004-09-17" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38387.62231481" TITLE="Resizing and Redrawing at startup" TIMEESTUNITS="H" PERSON="None" COMMENTS="When starting AE all menus control bars get updated and resized a lot before AE is ready to use. Can we minimize this by showing AE later at startup or a final redraw at the end of startup. ! [LW] This is on hold because of the update to the new GuiToolit." ID="414" PERCENTDONE="100" STARTDATE="38247.00000000" DONEDATESTRING="2005-02-04" POS="13" DONEDATE="38387.62231481"/> <TASK STARTDATESTRING="2004-09-29" PRIORITY="1" TIMEESPENTUNITS="H" LASTMOD="38259.51017361" TITLE="Renaming tool doesn't affect toobar" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1032164][#100020] ! [LW] This is a BCG problem, we can't change the Tooltip to the name of the tool. This must be solved in GuiToolkit." ID="432" STARTDATE="38259.00000000" POS="10"/> ! <TASK STARTDATESTRING="2004-10-03" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38267.36766204" TITLE="not W98 compatible" TIMEESTUNITS="H" PERSON="GH" COMMENTS="Because of function in the FileSpec class we are not w98 compatible." ID="682" PERCENTDONE="100" STARTDATE="38263.00000000" DONEDATESTRING="2004-10-07" POS="17" DONEDATE="38267.00000000"/> ! <TASK STARTDATESTRING="2004-10-05" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38267.36753472" TITLE="OutputBar and Escape" TIMEESTUNITS="H" PERSON="LW" COMMENTS="Pressing escape when focus is on OutputBar removes all tabs, but the window can still be edited. Tool output is gone." ID="683" PERCENTDONE="100" STARTDATE="38265.00000000" DONEDATESTRING="2004-10-07" POS="19" DONEDATE="38267.00000000"/> <TASK STARTDATESTRING="2004-10-25" PRIORITY="2" TIMEESPENTUNITS="H" LASTMOD="38320.35738426" TITLE="Class View bug" TIMEESTUNITS="H" PERSON="GH" COMMENTS="Putting a forward declaration of a function at the top of your source file and having the implementation in the same file, result in a double entry in the class view. Is this a ctags or an AE problem? ! [LW] I'll test it some more and put an example on the developer list." ID="687" STARTDATE="38285.00000000" POS="8"/> ! <TASK STARTDATESTRING="2004-10-25" PRIORITY="1" TIMEESPENTUNITS="H" LASTMOD="38288.59346065" TITLE="AnyEdit freezes when starting with splashscreen off." TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1045820]" ID="688" PERCENTDONE="100" STARTDATE="38285.00000000" DONEDATESTRING="2004-10-28" POS="20" DONEDATE="38288.00000000"/> ! <TASK STARTDATESTRING="2004-10-25" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38288.32170139" TITLE="Language Tool buttons don't all work" TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1048921]" ID="689" PERCENTDONE="100" STARTDATE="38285.00000000" DONEDATESTRING="2004-10-28" POS="21" DONEDATE="38288.00000000"/> ! <TASK STARTDATESTRING="2004-10-25" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38289.36145833" TITLE="Closing file from association Crash" TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1050284] I think this is already fixed, shall test it before closing it." ID="690" PERCENTDONE="100" STARTDATE="38285.00000000" DONEDATESTRING="2004-10-29" POS="22" DONEDATE="38289.00000000"/> ! <TASK STARTDATESTRING="2004-10-25" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38288.31370370" TITLE="$FILENAME bug under W98" TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1052500] It also returnes part of the path!" ID="691" PERCENTDONE="100" STARTDATE="38285.00000000" DONEDATESTRING="2004-10-28" POS="23" DONEDATE="38288.00000000"/> ! <TASK STARTDATESTRING="2004-10-25" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38386.46159722" TITLE="Class View parsing of C# files get stuck in an endless loop." TIMEESTUNITS="H" PERSON="LW" ID="693" PERCENTDONE="100" STARTDATE="38285.00000000" DONEDATESTRING="2005-02-03" POS="14" DONEDATE="38386.46159722"/> ! <TASK STARTDATESTRING="2004-10-28" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38288.32136574" TITLE="Print Preview doesn't work correct." TIMEESTUNITS="H" PERSON="None" COMMENTS="[#105445]" ID="694" STARTDATE="38288.00000000" POS="3"/> ! <TASK STARTDATESTRING="2004-10-28" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38289.36148148" TITLE="Bug in path when opening a file from association." TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1055986] I think this is already fixed in beta 3, will test before closing." ID="696" PERCENTDONE="100" STARTDATE="38288.00000000" DONEDATESTRING="2004-10-29" POS="24" DONEDATE="38289.00000000"/> ! <TASK STARTDATESTRING="2004-11-04" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38299.34005787" TITLE="Shift+Space types nothing" TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1057733]" ID="697" PERCENTDONE="100" STARTDATE="38295.00000000" DONEDATESTRING="2004-11-08" POS="25" DONEDATE="38299.00000000"/> <TASK STARTDATESTRING="2004-11-04" PRIORITY="1" TIMEESPENTUNITS="H" LASTMOD="38295.37130787" TITLE="Widechar support (Chinese) in scintilla editor" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1057990] The scintilla control does something wrong with widechars. Is it because we don't support Unicode as well as we should or is it a problem in the control itself? ! " ID="698" STARTDATE="38295.00000000" POS="11"/> ! <TASK STARTDATESTRING="2004-11-04" PRIORITY="8" TIMEESPENTUNITS="H" LASTMOD="38299.35841435" TITLE="Bug Report Dialog box Copy to Clipboard doesn't work." TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1059334]" ID="699" PERCENTDONE="100" STARTDATE="38295.00000000" DONEDATESTRING="2004-11-08" POS="26" DONEDATE="38299.00000000"/> ! <TASK STARTDATESTRING="2004-11-04" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38295.37452546" TITLE="Delete key in "Find" combo box" TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1059335] I think this is a character routing problem. All characters get routed to the scintilla control when this is active. The output edit characters are also routed to the scintilla control." ID="700" STARTDATE="38295.00000000" POS="4"/> ! <TASK STARTDATESTRING="2004-11-04" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38295.86723380" TITLE="GoTo" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1059338] Goto scroll to the wrong place when the line to scroll to is folded." ID="701" PERCENTDONE="100" STARTDATE="38295.00000000" DONEDATESTRING="2004-11-04" POS="27" DONEDATE="38295.00000000"/> ! <TASK STARTDATESTRING="2004-11-04" PRIORITY="0" TIMEESPENTUNITS="H" LASTMOD="38296.70081019" TITLE="Folding problem?" TIMEESTUNITS="H" PERSON="LW" COMMENTS="//{{5,6,7,8} Is folded to the end of file in C files. Sounds pretty normal behaviour, but do we want to fold {} in comment?" ID="703" PERCENTDONE="100" STARTDATE="38295.00000000" DONEDATESTRING="2004-11-05" POS="28" DONEDATE="38296.00000000"/> ! <TASK STARTDATESTRING="2004-11-29" PRIORITY="9" TIMEESPENTUNITS="H" LASTMOD="38323.35967593" TITLE="Brace Highlighting Turn off causes the current highlighted brace match to always be highlighted." TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1073434]" ID="706" PERCENTDONE="100" STARTDATE="38320.00000000" DONEDATESTRING="2004-12-02" POS="29" DONEDATE="38323.00000000"/> ! <TASK STARTDATESTRING="2004-11-29" PRIORITY="3" TIMEESPENTUNITS="H" LASTMOD="38386.39221065" TITLE="Unable to choose file extension in New File dialog." TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1062363] Only after choosing a file type, the extensions are filled. But they are filled from the template files. This needs to be updated to get the info from the syntax files. Maybe some new and extra templates would also be a nice addition." ID="707" STARTDATE="38320.00000000" POS="6"/> ! <TASK STARTDATESTRING="2005-01-17" PRIORITY="0" TIMEESPENTUNITS="H" LASTMOD="38369.34821759" TITLE="Tabbar open documents not updating" TIMEESTUNITS="H" PERSON="CS" COMMENTS="[#1088471] This will be superseded by the AnyEditToolkit where we have a new control." ID="708" STARTDATE="38369.00000000" POS="12"/> ! <TASK STARTDATESTRING="2005-01-17" PRIORITY="8" TIMEESPENTUNITS="H" LASTMOD="38386.39184028" TITLE="Escape in Preference Window" TIMEESTUNITS="H" PERSON="LW" COMMENTS="Escape should close the window" ID="716" PERCENTDONE="100" STARTDATE="38369.00000000" DONEDATESTRING="2005-02-03" POS="16" DONEDATE="38386.39184028"/> ! <TASK STARTDATESTRING="2005-01-17" PRIORITY="3" TIMEESPENTUNITS="H" LASTMOD="38373.60366898" TITLE="Sync file settings can't be saved" TIMEESTUNITS="H" PERSON="LW" COMMENTS="Check first if it's so and needed." ID="718" STARTDATE="38369.00000000" POS="7"/> ! <TASK STARTDATESTRING="2005-01-28" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38386.41219907" TITLE="Enabling Minibar in menu after Disabling in Preferences crashes AE" TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1113704]" ID="720" PERCENTDONE="100" STARTDATE="38380.37525463" DONEDATESTRING="2005-02-03" POS="15" DONEDATE="38386.41219907"/> ! <TASK STARTDATESTRING="2005-01-28" PRIORITY="7" TIMEESPENTUNITS="H" LASTMOD="38386.39038194" TITLE="Find result hidden by folding" TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1114712] CTRL+F results may be hidden by folding. Jumping to the next result, doesn't unfold the document." ID="723" STARTDATE="38380.37525463" POS="2"/> </TASK> <TASK STARTDATESTRING="2004-06-01" PRIORITY="0" TIMEESPENTUNITS="H" LASTMOD="38369.70520833" TITLE="Code Cleanup" TIMEESTUNITS="H" COMMENTS="Things we need to do to cleanup the source code." ID="249" STARTDATE="38139.00000000" POS="10"> --- 65,156 ---- <TASK STARTDATESTRING="2004-09-29" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38259.49864583" TITLE="build dependencies & assembler parser" TIMEESTUNITS="H" COMMENTS="[#1032599]" ID="431" STARTDATE="38259.00000000" POS="7"/> </TASK> ! <TASK STARTDATESTRING="2004-04-26" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.56884259" TITLE="A list of callers of highlighted function" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#799526]" ID="183" STARTDATE="38103.00000000" POS="25"/> <TASK STARTDATESTRING="2004-04-26" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38103.57464120" TITLE="HTML Tags and Color Picker" TIMEESTUNITS="H" PERSON="None" COMMENTS="Clip Texts? ! [#900515]" ID="188" STARTDATE="38103.00000000" POS="23"/> ! <TASK STARTDATESTRING="2004-04-26" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38259.49758102" TITLE="Unicode Support" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1025633]" ID="194" STARTDATE="38103.00000000" POS="14"/> ! <TASK STARTDATESTRING="2004-05-22" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38131.38060185" TITLE="Mark compile errors while typing" TIMEESTUNITS="H" PERSON="None" COMMENTS="This other neat feature allows background compiling of the current file as you type, and will mark all the errors and warnings as squiggly lines under the text (same as misspelled words in Word)" ID="240" STARTDATE="38129.00000000" POS="26"/> <TASK STARTDATESTRING="2004-05-22" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38175.93368056" TITLE="Internal Scripting" TIMEESTUNITS="H" PERSON="None" COMMENTS="Added a scripting engine to AnyEdit for macros, commands, etc. etc. I believe there are a few nice open source libraries that can be plugged in an application and will provide most of the features we want - need to hunt through SourceForge a little for those. ! [CS] What about lua? Scite use lua and I think it is simple and powerful." ID="241" STARTDATE="38129.00000000" POS="16"/> ! <TASK STARTDATESTRING="2004-07-07" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38176.33775463" TITLE="Tab use columns from line before" TIMEESTUNITS="H" PERSON="None" COMMENTS="If you have a table like text it would be nice when tab jumps to next beginning of text in previous line. PSPad has this feature." ID="268" STARTDATE="38175.00000000" POS="17"/> <TASK STARTDATESTRING="2004-07-07" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38176.33803241" TITLE="Remember last x-position" TIMEESTUNITS="H" PERSON="None" COMMENTS="This feature is difficult to describe. I want to remember the x position in last line. But this is not the current cursor pos in line. ! e.g. I add a text in a line at position 10. The current position might be 15 now. With cursor down I want to have cursor on position 10." ID="271" STARTDATE="38175.00000000" POS="18"/> <TASK STARTDATESTRING="2004-07-07" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38240.37414352" TITLE="open more than one file with command line" TIMEESTUNITS="H" PERSON="None" COMMENTS="I added a link in Send to folder. It works fine with on document but I can't open more than one file at same time. ! [LW] There are some nice code project documents about it Idiot guide to shell......" ID="278" STARTDATE="38175.00000000" POS="19"/> <TASK STARTDATESTRING="2004-08-30" PRIORITY="1" TIMEESPENTUNITS="H" LASTMOD="38231.30290509" TITLE="Physical Project Management" TIMEESTUNITS="H" PERSON="None" COMMENTS="Physicaly managing the project administration from the workspace area. (Directly affacting the filesystem.) [#1018872] ! [LW] Guy do you know what is meant?" ID="349" STARTDATE="38229.00000000" POS="41"/> ! <TASK STARTDATESTRING="2004-08-31" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38230.34651620" TITLE="XML support in ctags" TIMEESTUNITS="H" PERSON="None" COMMENTS="To be able to display the document structure in the ClassView" ID="378" STARTDATE="38230.00000000" POS="20"/> ! <TASK STARTDATESTRING="2004-08-31" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38230.34719907" TITLE="Match Tags in html/xml" TIMEESTUNITS="H" PERSON="None" COMMENTS="Matching opening and closing tags and probably jump from one to the other." ID="379" STARTDATE="38230.00000000" POS="21"/> ! <TASK STARTDATESTRING="2004-09-10" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38240.37351852" TITLE="ASP Folding" TIMEESTUNITS="H" PERSON="None" COMMENTS="This should be added to Scintilla. Maybe we can add it and give the code to scintilla." ID="401" STARTDATE="38240.00000000" POS="22"/> ! <TASK STARTDATESTRING="2004-09-17" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38369.36892361" TITLE="Allow tools to use OutputBar as Stdin." TIMEESTUNITS="H" PERSON="None" ID="407" STARTDATE="38247.00000000" POS="34"/> ! <TASK STARTDATESTRING="2004-09-17" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38247.58223380" TITLE="Refactoring" TIMEESTUNITS="H" PERSON="None" COMMENTS="[CS] Add refactoring. Similar to task 238. This is a nice feature but it is very difficult to implement. This can be done as plugin?" ID="410" STARTDATE="38247.00000000" POS="33"/> <TASK STARTDATESTRING="2004-10-25" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38285.50010417" TITLE="Auto insert EOL character after word wrap" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1039736] Automatically adding a EOL after a word wrap. ! [LW] I think saving with hard EOL's is a better solution (and easier to implement?)?" ID="692" STARTDATE="38285.00000000" POS="28"/> ! <TASK STARTDATESTRING="2005-01-17" PRIORITY="0" TIMEESPENTUNITS="H" LASTMOD="38369.35252315" TITLE="Different folding" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1079990] Request for different folding. The folding should take place at the function name, instead of the first brace. This probably implies changing the C Lexer of scintilla. Do we want this?" ID="709" STARTDATE="38369.00000000" POS="43"/> ! <TASK STARTDATESTRING="2005-01-17" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38369.35340278" TITLE="Linux and/or Wine support" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1082971]" ID="710" STARTDATE="38369.00000000" POS="29"/> ! <TASK STARTDATESTRING="2005-01-17" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38369.35795139" TITLE="RTF Copy" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1091747]" ID="712" STARTDATE="38369.00000000" POS="31"/> ! <TASK STARTDATESTRING="2005-01-17" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38369.35930556" TITLE="JSP Support" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1097066] Syntax Highlighting is done, but ctags info I don't know." ID="713" STARTDATE="38369.00000000" POS="32"/> ! <TASK STARTDATESTRING="2005-01-28" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38384.35459491" TITLE="Split file view" TIMEESTUNITS="H" COMMENTS="[#1108209] Split the file view of the Workspace bar in half. Top containing dires, bottom containing the files in the dir." ID="721" STARTDATE="38380.00000000" POS="35"/> <TASK STARTDATESTRING="2005-01-28" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38384.35622685" TITLE="Compiler Integration" TIMEESTUNITS="H" COMMENTS="VC/Java/Gcc(MingW) compiler integration ! [#1106366]" ID="722" STARTDATE="38380.00000000" POS="36"/> ! <TASK STARTDATESTRING="2005-02-09" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38392.38981481" TITLE="Class View Filtering" TIMEESTUNITS="H" COMMENTS="Filter the entries in the class view to get a subset." ID="724" STARTDATE="38392.00000000" POS="37"/> ! <TASK STARTDATESTRING="2005-02-09" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38392.39053241" TITLE="Synchronize Class View" TIMEESTUNITS="H" COMMENTS="Syncronize the class view with the current open file (for projects with a lot of classes) ! Maybe even scroll to the correct function." ID="725" STARTDATE="38392.00000000" POS="38"/> ! <TASK STARTDATESTRING="2005-03-11" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38422.32663194" TITLE="Variable extension for a syntax file" TIMEESTUNITS="H" PERSON="None" COMMENTS="The ability to have a version number as extension, which will increase in time, but the content is still the same language. (AA01 - ZZ99) We can use a regex for the extension, but how does it impact the rest of the application?" ID="734" STARTDATE="38422.00000000" POS="2"/> ! <TASK STARTDATESTRING="2005-03-22" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38435.37537037" TITLE="Ability to switch read-only flag from Statusbar" TIMEESTUNITS="H" COMMENTS="[#1120176] ! " ID="736" STARTDATE="38433.00000000" POS="39"/> ! <TASK STARTDATESTRING="2005-03-22" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38435.37685185" TITLE="Find Symbol using Ctags output" TIMEESTUNITS="H" COMMENTS="[#1153311] Find highlighted (under cursor/selected) symbol in classview and jump to it or give output in outputbar." ID="737" STARTDATE="38433.00000000" POS="30"/> ! <TASK STARTDATESTRING="2005-03-22" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38435.37793981" TITLE="Back Button" TIMEESTUNITS="H" COMMENTS="[#1167339] Jumping back after a quick jump or search." ID="739" STARTDATE="38433.00000000" POS="1"/> </TASK> <TASK STARTDATESTRING="2004-04-20" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38230.35178241" TITLE="Bugs" TIMEESTUNITS="H" COMMENTS="Or undocumented features." ID="161" STARTDATE="38097.00000000" POS="2"> ! <TASK STARTDATESTRING="2004-06-01" PRIORITY="1" TIMEESPENTUNITS="H" LASTMOD="38230.33956019" TITLE="Pugxml bug" TIMEESTUNITS="H" PERSON="None" COMMENTS="There is a bug in pugxml iterators that I can't explain. When using * or -> on an iterator, we get memory faults in the forward_class. I worked around it, but we may need to look at it in the future." ID="247" STARTDATE="38139.00000000" POS="11"/> <TASK STARTDATESTRING="2004-07-07" PRIORITY="4" TIMEESPENTUNITS="H" LASTMOD="38386.39232639" TITLE="Home.htm supports drag'n'drop" TIMEESTUNITS="H" PERSON="GH" COMMENTS="If I drag a textfile from Explorer to home.htm it was shown in this (browser) window. Is this a bug or a feature? Is it possible to open other browser windows in AE? [LW] If you drag a html file to StartupPage, the page displays the html file, but doesn't update the filename in the tab! ! [LW] Should we open a new window when a file is drag'd' to the Startup Page?" ID="270" STARTDATE="38175.00000000" POS="6"/> <TASK STARTDATESTRING="2004-07-22" PRIORITY="3" TIMEESPENTUNITS="H" LASTMOD="38323.01116898" TITLE="EOL characters get colored" TIMEESTUNITS="H" PERSON="CS" COMMENTS="On a document with CRLF EOL characters the CR gets the same color as the text on the line, but the LF is black. Scinitlla bug? [LW] It's added to the Scintilla Repository. Now al we need is update to the next version when it is released. ! " ID="299" PERCENTDONE="100" STARTDATE="38190.00000000" DONEDATESTRING="2004-12-02" POS="26" DONEDATE="38323.00000000"/> ! <TASK STARTDATESTRING="2004-08-31" PRIORITY="7" TIMEESPENTUNITS="H" LASTMOD="38453.43388889" TITLE="Pause when opening files." TIMEESTUNITS="H" PERSON="LW" COMMENTS="AnyEdit pauses when opening documents. This is noticeable on slow machines and with opening large syntax files (java/html). Setting the scintilla properties is probably the cause of the problem. We should see if we can fix this. ! [LW] Can't we parse the syntax files in a separate low priority thread. It looks like AnyEdit has started, but in the background it is still parsing the configs/syntax files. ! " ID="374" PERCENTDONE="100" STARTDATE="38230.00000000" DONEDATESTRING="2005-04-11" POS="15" DONEDATE="38453.43388889"/> <TASK STARTDATESTRING="2004-09-17" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38387.62231481" TITLE="Resizing and Redrawing at startup" TIMEESTUNITS="H" PERSON="None" COMMENTS="When starting AE all menus control bars get updated and resized a lot before AE is ready to use. Can we minimize this by showing AE later at startup or a final redraw at the end of startup. ! [LW] This is on hold because of the update to the new GuiToolit." ID="414" PERCENTDONE="100" STARTDATE="38247.00000000" DONEDATESTRING="2005-02-04" POS="21" DONEDATE="38387.00000000"/> <TASK STARTDATESTRING="2004-09-29" PRIORITY="1" TIMEESPENTUNITS="H" LASTMOD="38259.51017361" TITLE="Renaming tool doesn't affect toobar" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1032164][#100020] ! [LW] This is a BCG problem, we can't change the Tooltip to the name of the tool. This must be solved in GuiToolkit." ID="432" STARTDATE="38259.00000000" POS="12"/> ! <TASK STARTDATESTRING="2004-10-03" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38267.36766204" TITLE="not W98 compatible" TIMEESTUNITS="H" PERSON="GH" COMMENTS="Because of function in the FileSpec class we are not w98 compatible." ID="682" PERCENTDONE="100" STARTDATE="38263.00000000" DONEDATESTRING="2004-10-07" POS="25" DONEDATE="38267.00000000"/> ! <TASK STARTDATESTRING="2004-10-05" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38267.36753472" TITLE="OutputBar and Escape" TIMEESTUNITS="H" PERSON="LW" COMMENTS="Pressing escape when focus is on OutputBar removes all tabs, but the window can still be edited. Tool output is gone." ID="683" PERCENTDONE="100" STARTDATE="38265.00000000" DONEDATESTRING="2004-10-07" POS="27" DONEDATE="38267.00000000"/> <TASK STARTDATESTRING="2004-10-25" PRIORITY="2" TIMEESPENTUNITS="H" LASTMOD="38320.35738426" TITLE="Class View bug" TIMEESTUNITS="H" PERSON="GH" COMMENTS="Putting a forward declaration of a function at the top of your source file and having the implementation in the same file, result in a double entry in the class view. Is this a ctags or an AE problem? ! [LW] I'll test it some more and put an example on the developer list." ID="687" STARTDATE="38285.00000000" POS="10"/> ! <TASK STARTDATESTRING="2004-10-25" PRIORITY="1" TIMEESPENTUNITS="H" LASTMOD="38288.59346065" TITLE="AnyEdit freezes when starting with splashscreen off." TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1045820]" ID="688" PERCENTDONE="100" STARTDATE="38285.00000000" DONEDATESTRING="2004-10-28" POS="28" DONEDATE="38288.00000000"/> ! <TASK STARTDATESTRING="2004-10-25" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38288.32170139" TITLE="Language Tool buttons don't all work" TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1048921]" ID="689" PERCENTDONE="100" STARTDATE="38285.00000000" DONEDATESTRING="2004-10-28" POS="29" DONEDATE="38288.00000000"/> ! <TASK STARTDATESTRING="2004-10-25" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38289.36145833" TITLE="Closing file from association Crash" TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1050284] I think this is already fixed, shall test it before closing it." ID="690" PERCENTDONE="100" STARTDATE="38285.00000000" DONEDATESTRING="2004-10-29" POS="30" DONEDATE="38289.00000000"/> ! <TASK STARTDATESTRING="2004-10-25" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38288.31370370" TITLE="$FILENAME bug under W98" TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1052500] It also returnes part of the path!" ID="691" PERCENTDONE="100" STARTDATE="38285.00000000" DONEDATESTRING="2004-10-28" POS="31" DONEDATE="38288.00000000"/> ! <TASK STARTDATESTRING="2004-10-25" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38386.46159722" TITLE="Class View parsing of C# files get stuck in an endless loop." TIMEESTUNITS="H" PERSON="LW" ID="693" PERCENTDONE="100" STARTDATE="38285.00000000" DONEDATESTRING="2005-02-03" POS="22" DONEDATE="38386.00000000"/> ! <TASK STARTDATESTRING="2004-10-28" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38288.32136574" TITLE="Print Preview doesn't work correct." TIMEESTUNITS="H" PERSON="None" COMMENTS="[#105445]" ID="694" STARTDATE="38288.00000000" POS="4"/> ! <TASK STARTDATESTRING="2004-10-28" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38289.36148148" TITLE="Bug in path when opening a file from association." TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1055986] I think this is already fixed in beta 3, will test before closing." ID="696" PERCENTDONE="100" STARTDATE="38288.00000000" DONEDATESTRING="2004-10-29" POS="32" DONEDATE="38289.00000000"/> ! <TASK STARTDATESTRING="2004-11-04" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38299.34005787" TITLE="Shift+Space types nothing" TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1057733]" ID="697" PERCENTDONE="100" STARTDATE="38295.00000000" DONEDATESTRING="2004-11-08" POS="33" DONEDATE="38299.00000000"/> <TASK STARTDATESTRING="2004-11-04" PRIORITY="1" TIMEESPENTUNITS="H" LASTMOD="38295.37130787" TITLE="Widechar support (Chinese) in scintilla editor" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1057990] The scintilla control does something wrong with widechars. Is it because we don't support Unicode as well as we should or is it a problem in the control itself? ! " ID="698" STARTDATE="38295.00000000" POS="13"/> ! <TASK STARTDATESTRING="2004-11-04" PRIORITY="8" TIMEESPENTUNITS="H" LASTMOD="38299.35841435" TITLE="Bug Report Dialog box Copy to Clipboard doesn't work." TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1059334]" ID="699" PERCENTDONE="100" STARTDATE="38295.00000000" DONEDATESTRING="2004-11-08" POS="34" DONEDATE="38299.00000000"/> ! <TASK STARTDATESTRING="2004-11-04" PRIORITY="5" TIMEESPENTUNITS="H" LASTMOD="38433.43746528" TITLE="Delete key in "Find" combo box" TIMEESTUNITS="H" PERSON="GH" COMMENTS="[#1059335] I think this is a character routing problem. All characters get routed to the scintilla control when this is active. The output edit characters are also routed to the scintilla control." ID="700" STARTDATE="38295.00000000" POS="5"/> ! <TASK STARTDATESTRING="2004-11-04" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38295.86723380" TITLE="GoTo" TIMEESTUNITS="H" PERSON="None" COMMENTS="[#1059338] Goto scroll to the wrong place when the line to scroll to is folded." ID="701" PERCENTDONE="100" STARTDATE="38295.00000000" DONEDATESTRING="2004-11-04" POS="35" DONEDATE="38295.00000000"/> ! <TASK STARTDATESTRING="2004-11-04" PRIORITY="0" TIMEESPENTUNITS="H" LASTMOD="38296.70081019" TITLE="Folding problem?" TIMEESTUNITS="H" PERSON="LW" COMMENTS="//{{5,6,7,8} Is folded to the end of file in C files. Sounds pretty normal behaviour, but do we want to fold {} in comment?" ID="703" PERCENTDONE="100" STARTDATE="38295.00000000" DONEDATESTRING="2004-11-05" POS="36" DONEDATE="38296.00000000"/> ! <TASK STARTDATESTRING="2004-11-29" PRIORITY="9" TIMEESPENTUNITS="H" LASTMOD="38323.35967593" TITLE="Brace Highlighting Turn off causes the current highlighted brace match to always be highlighted." TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1073434]" ID="706" PERCENTDONE="100" STARTDATE="38320.00000000" DONEDATESTRING="2004-12-02" POS="37" DONEDATE="38323.00000000"/> ! <TASK STARTDATESTRING="2004-11-29" PRIORITY="3" TIMEESPENTUNITS="H" LASTMOD="38386.39221065" TITLE="Unable to choose file extension in New File dialog." TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1062363] Only after choosing a file type, the extensions are filled. But they are filled from the template files. This needs to be updated to get the info from the syntax files. Maybe some new and extra templates would also be a nice addition." ID="707" STARTDATE="38320.00000000" POS="7"/> ! <TASK STARTDATESTRING="2005-01-17" PRIORITY="0" TIMEESPENTUNITS="H" LASTMOD="38369.34821759" TITLE="Tabbar open documents not updating" TIMEESTUNITS="H" PERSON="CS" COMMENTS="[#1088471] This will be superseded by the AnyEditToolkit where we have a new control." ID="708" STARTDATE="38369.00000000" POS="14"/> ! <TASK STARTDATESTRING="2005-01-17" PRIORITY="8" TIMEESPENTUNITS="H" LASTMOD="38386.39184028" TITLE="Escape in Preference Window" TIMEESTUNITS="H" PERSON="LW" COMMENTS="Escape should close the window" ID="716" PERCENTDONE="100" STARTDATE="38369.00000000" DONEDATESTRING="2005-02-03" POS="24" DONEDATE="38386.00000000"/> ! <TASK STARTDATESTRING="2005-01-17" PRIORITY="3" TIMEESPENTUNITS="H" LASTMOD="38373.60366898" TITLE="Sync file settings can't be saved" TIMEESTUNITS="H" PERSON="LW" COMMENTS="Check first if it's so and needed." ID="718" STARTDATE="38369.00000000" POS="8"/> ! <TASK STARTDATESTRING="2005-01-28" PRIORITY="10" TIMEESPENTUNITS="H" LASTMOD="38386.41219907" TITLE="Enabling Minibar in menu after Disabling in Preferences crashes AE" TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1113704]" ID="720" PERCENTDONE="100" STARTDATE="38380.00000000" DONEDATESTRING="2005-02-03" POS="23" DONEDATE="38386.00000000"/> ! <TASK STARTDATESTRING="2005-01-28" PRIORITY="7" TIMEESPENTUNITS="H" LASTMOD="38412.36271991" TITLE="Find result hidden by folding" TIMEESTUNITS="H" PERSON="LW" COMMENTS="[#1114712] CTRL+F results may be hidden by folding. Jumping to the next result, doesn't unfold the document." ID="723" PERCENTDONE="100" STARTDATE="38380.00000000" DONEDATESTRING="2005-03-01" POS="20" DONEDATE="38412.00000000"/> ! <TASK STARTDATESTRING="2005-02-09" PRIORITY="8" TIMEESPENTUNITS="H" LASTMOD="38435.37861111" TITLE="Batch files don't work in Tools" TIMEESTUNITS="H" PERSON="LW" COMMENTS="Use CMD.exe to run the batch files. I think we should always run cmd.exe for console applications. Test if it works with gcc g++ if so we don't have a problem." ID="727" PERCENTDONE="100" STARTDATE="38392.00000000" DONEDATESTRING="2005-03-24" POS="16" DONEDATE="38435.00000000"/> ! <TASK STARTDATESTRING="2005-02-28" PRIORITY="2" TIMEESPENTUNITS="H" LASTMOD="38435.37898148" TITLE="Open Startpage isn't enabled after closing it." TIMEESTUNITS="H" PERSON="LW" COMMENTS="Is the boolean wrong?" ID="728" PERCENTDONE="100" STARTDATE="38411.00000000" DONEDATESTRING="2005-03-24" POS="19" DONEDATE="38435.00000000"/> ! <TASK STARTDATESTRING="2005-02-28" PRIORITY="6" TIMEESPENTUNITS="H" LASTMOD="38411.85875000" TITLE="AutoIndent { on a line with text jumps to col 0" TIMEESTUNITS="H" PERSON="LW" ID="729" STARTDATE="38411.00000000" POS="3"/> ! <TASK STARTDATESTRING="2005-02-28" PRIORITY="9" TIMEESPENTUNITS="H" LASTMOD="38411.85960648" TITLE="Fileview doesn't update from outside changes." TIMEESTUNITS="H" PERSON="GH" ID="730" STARTDATE="38411.00000000" POS="1"/> ! <TASK STARTDATESTRING="2005-02-28" PRIORITY="3" TIMEESPENTUNITS="H" LASTMOD="38411.86518519" TITLE="Keep ClassView expanded after resorting tree." TIMEESTUNITS="H" PERSON="GH" COMMENTS="Don't know if and how this is possible." ID="731" STARTDATE="38411.00000000" POS="9"/> ! <TASK STARTDATESTRING="2005-02-28" PRIORITY="7" TIMEESPENTUNITS="H" LASTMOD="38415.41673611" TITLE="Filetab Synchronize doesn't work." TIMEESTUNITS="H" PERSON="GH" COMMENTS="See forum." ID="732" STARTDATE="38411.00000000" POS="2"/> ! <TASK STARTDATESTRING="2005-03-11" PRIORITY="8" TIMEESPENTUNITS="H" LASTMOD="38435.37864583" TITLE="OutputBar doesn't become visible when doing a Find in Files." TIMEESTUNITS="H" PERSON="LW" ID="733" PERCENTDONE="100" STARTDATE="38422.00000000" DONEDATESTRING="2005-03-24" POS="17" DONEDATE="38435.00000000"/> ! <TASK STARTDATESTRING="2005-03-22" PRIORITY="8" TIMEESPENTUNITS="H" LASTMOD="38435.37870370" TITLE="Copy On Select is default on in new files." TIMEESTUNITS="H" PERSON="LW" COMMENTS="Even if the settings say off." ID="735" PERCENTDONE="100" STARTDATE="38433.00000000" DONEDATESTRING="2005-03-24" POS="18" DONEDATE="38435.00000000"/> </TASK> <TASK STARTDATESTRING="2004-06-01" PRIORITY="0" TIMEESPENTUNITS="H" LASTMOD="38369.70520833" TITLE="Code Cleanup" TIMEESTUNITS="H" COMMENTS="Things we need to do to cleanup the source code." ID="249" S... [truncated message content] |
From: Leon W. <moo...@us...> - 2005-04-11 08:20:54
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10177 Modified Files: SciLexer.h Scintilla.h SyntaxFile.cpp scintillaif.cpp scintillaif.h Log Message: - Upgrade to Scintilla 1.63 Index: scintillaif.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/scintillaif.cpp,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** scintillaif.cpp 27 Nov 2004 15:16:00 -0000 1.19 --- scintillaif.cpp 11 Apr 2005 08:20:27 -0000 1.20 *************** *** 1172,1175 **** --- 1172,1195 ---- } + void CScintilla::AutoCSetMaxWidth(int characterCount) + { + SPerform(SCI_AUTOCSETMAXWIDTH, (long)characterCount, 0); + } + + int CScintilla::AutoCGetMaxWidth() + { + return (int)SPerform(SCI_AUTOCGETMAXWIDTH, 0, 0); + } + + void CScintilla::AutoCSetMaxHeight(int rowCount) + { + SPerform(SCI_AUTOCSETMAXHEIGHT, (long)rowCount, 0); + } + + int CScintilla::AutoCGetMaxHeight() + { + return (int)SPerform(SCI_AUTOCGETMAXHEIGHT, 0, 0); + } + void CScintilla::SetIndent(int indentSize) { *************** *** 1607,1610 **** --- 1627,1635 ---- } + int CScintilla::WrapCount(int line) + { + return (int)SPerform(SCI_WRAPCOUNT, (long)line, 0); + } + void CScintilla::SetFoldLevel(int line, int level) { *************** *** 2597,2600 **** --- 2622,2640 ---- } + bool CScintilla::GetCaretSticky() + { + return SPerform(SCI_GETCARETSTICKY, 0, 0) != 0; + } + + void CScintilla::SetCaretSticky(bool useCaretStickyBehaviour) + { + SPerform(SCI_SETCARETSTICKY, (long)useCaretStickyBehaviour, 0); + } + + void CScintilla::ToggleCaretSticky() + { + SPerform(SCI_TOGGLECARETSTICKY, 0, 0); + } + void CScintilla::StartRecord() { Index: scintillaif.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/scintillaif.h,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** scintillaif.h 27 Nov 2004 15:16:00 -0000 1.15 --- scintillaif.h 11 Apr 2005 08:20:27 -0000 1.16 *************** *** 681,684 **** --- 681,702 ---- void AutoCSetTypeSeparator(int separatorCharacter); /** + * Set the maximum width, in characters, of auto-completion and user lists. + * Set to 0 to autosize to fit longest item, which is the default. + */ + void AutoCSetMaxWidth(int characterCount); + /** + * Get the maximum width, in characters, of auto-completion and user lists. + */ + int AutoCGetMaxWidth(); + /** + * Set the maximum height, in rows, of auto-completion and user lists. + * The default is 5 rows. + */ + void AutoCSetMaxHeight(int rowCount); + /** + * Set the maximum height, in rows, of auto-completion and user lists. + */ + int AutoCGetMaxHeight(); + /** * Set the number of spaces used for one level of indentation. */ *************** *** 1047,1050 **** --- 1065,1072 ---- int DocLineFromVisible(int lineDisplay); /** + * The number of display lines needed to wrap a document line + */ + int WrapCount(int line); + /** * Set the fold level of a line. * This encodes an integer level along with flags indicating whether the *************** *** 1903,1906 **** --- 1925,1940 ---- int FindColumn(int line, int column); /** + * Can the caret preferred x position only be changed by explicit movement commands? + */ + bool GetCaretSticky(); + /** + * Stop the caret preferred x position changing when the user types. + */ + void SetCaretSticky(bool useCaretStickyBehaviour); + /** + * Switch between sticky and non-sticky: meant to be bound to a key. + */ + void ToggleCaretSticky(); + /** * Start notifying the container of all key presses and commands. */ Index: SyntaxFile.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/SyntaxFile.cpp,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** SyntaxFile.cpp 11 Apr 2005 06:52:58 -0000 1.26 --- SyntaxFile.cpp 11 Apr 2005 08:20:27 -0000 1.27 *************** *** 358,361 **** --- 358,366 ---- if( name == "SCLEX_ASN1" ) return SCLEX_ASN1; if( name == "SCLEX_VHDL" ) return SCLEX_VHDL; + if( name == "SCLEX_CAML" ) return SCLEX_CAML; + if( name == "SCLEX_BLITZBASIC" ) return SCLEX_BLITZBASIC; + if( name == "SCLEX_PUREBASIC" ) return SCLEX_PUREBASIC; + if( name == "SCLEX_HASKELL" ) return SCLEX_HASKELL; + if( name == "SCLEX_PHPSCRIPT" ) return SCLEX_PHPSCRIPT; for( i = 0; i < name.GetLength(); ++ i ) Index: Scintilla.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/Scintilla.h,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Scintilla.h 27 Nov 2004 15:15:05 -0000 1.12 --- Scintilla.h 11 Apr 2005 08:20:26 -0000 1.13 *************** *** 12,15 **** --- 12,19 ---- #define SCINTILLA_H + #if LCCWIN + typedef BOOL bool; + #endif + #if PLAT_WIN // Return false on failure: *************** *** 252,255 **** --- 256,263 ---- #define SCI_AUTOCGETTYPESEPARATOR 2285 #define SCI_AUTOCSETTYPESEPARATOR 2286 + #define SCI_AUTOCSETMAXWIDTH 2208 + #define SCI_AUTOCGETMAXWIDTH 2209 + #define SCI_AUTOCSETMAXHEIGHT 2210 + #define SCI_AUTOCGETMAXHEIGHT 2211 #define SCI_SETINDENT 2122 #define SCI_GETINDENT 2123 *************** *** 349,352 **** --- 357,361 ---- #define SCI_VISIBLEFROMDOCLINE 2220 #define SCI_DOCLINEFROMVISIBLE 2221 + #define SCI_WRAPCOUNT 2235 #define SC_FOLDLEVELBASE 0x400 #define SC_FOLDLEVELWHITEFLAG 0x1000 *************** *** 387,390 **** --- 396,400 ---- #define SC_WRAP_NONE 0 #define SC_WRAP_WORD 1 + #define SC_WRAP_CHAR 2 #define SCI_SETWRAPMODE 2268 #define SCI_GETWRAPMODE 2269 *************** *** 588,591 **** --- 598,604 ---- #define SCI_ENCODEDFROMUTF8 2449 #define SCI_FINDCOLUMN 2456 + #define SCI_GETCARETSTICKY 2457 + #define SCI_SETCARETSTICKY 2458 + #define SCI_TOGGLECARETSTICKY 2459 #define SCI_STARTRECORD 3001 #define SCI_STOPRECORD 3002 *************** *** 654,657 **** --- 667,671 ---- #define SCN_HOTSPOTDOUBLECLICK 2020 #define SCN_CALLTIPCLICK 2021 + #define SCN_AUTOCSELECTION 2022 //--Autogenerated -- end of section automatically generated from Scintilla.iface *************** *** 706,710 **** int modifiers; // SCN_KEY int modificationType; // SCN_MODIFIED ! const char *text; // SCN_MODIFIED int length; // SCN_MODIFIED int linesAdded; // SCN_MODIFIED --- 720,724 ---- int modifiers; // SCN_KEY int modificationType; // SCN_MODIFIED ! const char *text; // SCN_MODIFIED, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION int length; // SCN_MODIFIED int linesAdded; // SCN_MODIFIED *************** *** 721,729 **** }; ! // Deprecation section listing all API features that are deprecated and will ! // will be removed completely in a future version. ! // To enable these features define INCLUDE_DEPRECATED_FEATURES ! ! // ##### #define SCI_SETPARENTSCROLL 2500 #define SCN_GETSCROLLINFO 2100 --- 735,739 ---- }; ! // --- Patch for AnyEdit #define SCI_SETPARENTSCROLL 2500 #define SCN_GETSCROLLINFO 2100 *************** *** 732,736 **** #define SCROLLBAR_HORZ 0x4000 ! #if PLAT_WIN #define SCI_SCROLLBAR(x) ((x & SCROLLBAR_VERT) ? SB_VERT : (x & SCROLLBAR_HORZ) ? SB_HORZ : 0) #define SCI_SCROLL_REDRAW(x) ((x & 1) ? TRUE : FALSE) --- 742,746 ---- #define SCROLLBAR_HORZ 0x4000 ! #ifdef WIN32 #define SCI_SCROLLBAR(x) ((x & SCROLLBAR_VERT) ? SB_VERT : (x & SCROLLBAR_HORZ) ? SB_HORZ : 0) #define SCI_SCROLL_REDRAW(x) ((x & 1) ? TRUE : FALSE) *************** *** 738,742 **** #define SCI_MAKESCROLLMSG_REDRAW(bar, redraw) ((redraw ? 1 : 0) | (SCI_MAKESCROLLMSG(bar))) #endif ! // ##### #ifdef INCLUDE_DEPRECATED_FEATURES --- 748,756 ---- #define SCI_MAKESCROLLMSG_REDRAW(bar, redraw) ((redraw ? 1 : 0) | (SCI_MAKESCROLLMSG(bar))) #endif ! // --- End of Patch for AnyEdit ! ! // Deprecation section listing all API features that are deprecated and will ! // will be removed completely in a future version. ! // To enable these features define INCLUDE_DEPRECATED_FEATURES #ifdef INCLUDE_DEPRECATED_FEATURES Index: SciLexer.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/SciLexer.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** SciLexer.h 27 Nov 2004 15:13:45 -0000 1.8 --- SciLexer.h 11 Apr 2005 08:20:22 -0000 1.9 *************** *** 80,83 **** --- 80,88 ---- #define SCLEX_ASN1 63 #define SCLEX_VHDL 64 + #define SCLEX_CAML 65 + #define SCLEX_BLITZBASIC 66 + #define SCLEX_PUREBASIC 67 + #define SCLEX_HASKELL 68 + #define SCLEX_PHPSCRIPT 69 #define SCLEX_AUTOMATIC 1000 #define SCE_P_DEFAULT 0 *************** *** 271,274 **** --- 276,283 ---- #define SCE_B_CONSTANT 13 #define SCE_B_ASM 14 + #define SCE_B_LABEL 15 + #define SCE_B_ERROR 16 + #define SCE_B_HEXNUMBER 17 + #define SCE_B_BINNUMBER 18 #define SCE_PROPS_DEFAULT 0 #define SCE_PROPS_COMMENT 1 *************** *** 503,506 **** --- 512,516 ---- #define SCE_CSS_SINGLESTRING 14 #define SCE_CSS_IDENTIFIER2 15 + #define SCE_CSS_ATTRIBUTE 16 #define SCE_POV_DEFAULT 0 #define SCE_POV_COMMENT 1 *************** *** 574,577 **** --- 584,591 ---- #define SCE_NSIS_STRINGVAR 13 #define SCE_NSIS_NUMBER 14 + #define SCE_NSIS_SECTIONGROUP 15 + #define SCE_NSIS_PAGEEX 16 + #define SCE_NSIS_FUNCTIONDEF 17 + #define SCE_NSIS_COMMENTBOX 18 #define SCE_MMIXAL_LEADWS 0 #define SCE_MMIXAL_COMMENT 1 *************** *** 602,610 **** #define SCE_CLW_KEYWORD 8 #define SCE_CLW_COMPILER_DIRECTIVE 9 ! #define SCE_CLW_BUILTIN_PROCEDURES_FUNCTION 10 ! #define SCE_CLW_STRUCTURE_DATA_TYPE 11 ! #define SCE_CLW_ATTRIBUTE 12 ! #define SCE_CLW_STANDARD_EQUATE 13 ! #define SCE_CLW_ERROR 14 #define SCE_LOT_DEFAULT 0 #define SCE_LOT_HEADER 1 --- 616,626 ---- #define SCE_CLW_KEYWORD 8 #define SCE_CLW_COMPILER_DIRECTIVE 9 ! #define SCE_CLW_RUNTIME_EXPRESSIONS 10 ! #define SCE_CLW_BUILTIN_PROCEDURES_FUNCTION 11 ! #define SCE_CLW_STRUCTURE_DATA_TYPE 12 ! #define SCE_CLW_ATTRIBUTE 13 ! #define SCE_CLW_STANDARD_EQUATE 14 ! #define SCE_CLW_ERROR 15 ! #define SCE_CLW_DEPRECATED 16 #define SCE_LOT_DEFAULT 0 #define SCE_LOT_HEADER 1 *************** *** 732,735 **** --- 748,752 ---- #define SCE_AU3_PREPROCESSOR 11 #define SCE_AU3_SPECIAL 12 + #define SCE_AU3_EXPAND 13 #define SCE_APDL_DEFAULT 0 #define SCE_APDL_COMMENT 1 *************** *** 785,788 **** --- 802,836 ---- #define SCE_VHDL_STDTYPE 13 #define SCE_VHDL_USERWORD 14 + #define SCE_CAML_DEFAULT 0 + #define SCE_CAML_IDENTIFIER 1 + #define SCE_CAML_TAGNAME 2 + #define SCE_CAML_KEYWORD 3 + #define SCE_CAML_KEYWORD2 4 + #define SCE_CAML_LINENUM 5 + #define SCE_CAML_OPERATOR 6 + #define SCE_CAML_NUMBER 7 + #define SCE_CAML_CHAR 8 + #define SCE_CAML_STRING 9 + #define SCE_CAML_COMMENT 10 + #define SCE_CAML_COMMENT1 11 + #define SCE_CAML_COMMENT2 12 + #define SCE_CAML_COMMENT3 13 + #define SCE_HA_DEFAULT 0 + #define SCE_HA_IDENTIFIER 1 + #define SCE_HA_KEYWORD 2 + #define SCE_HA_NUMBER 3 + #define SCE_HA_STRING 4 + #define SCE_HA_CHARACTER 5 + #define SCE_HA_CLASS 6 + #define SCE_HA_MODULE 7 + #define SCE_HA_CAPITAL 8 + #define SCE_HA_DATA 9 + #define SCE_HA_IMPORT 10 + #define SCE_HA_OPERATOR 11 + #define SCE_HA_INSTANCE 12 + #define SCE_HA_COMMENTLINE 13 + #define SCE_HA_COMMENTBLOCK 14 + #define SCE_HA_COMMENTBLOCK2 15 + #define SCE_HA_COMMENTBLOCK3 16 //--Autogenerated -- end of section automatically generated from Scintilla.iface |
From: Leon W. <moo...@us...> - 2005-04-11 06:56:22
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1077 Modified Files: FileTypeManager.cpp FileTypeManager.h Log Message: - SyntaxFiles are parsed in a seperate thead. This improves speed at a memory penalty. Index: FileTypeManager.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/FileTypeManager.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** FileTypeManager.h 31 Jan 2005 22:54:03 -0000 1.9 --- FileTypeManager.h 11 Apr 2005 06:56:12 -0000 1.10 *************** *** 105,108 **** --- 105,109 ---- /// Set properties for a given langugage to a scintilla control. void SetScintillaProperties(int iLanguage, CScintillaEx* pScintilla, BOOL bSyntaxHighlighting); + protected: /// Last selected file filter. *************** *** 129,132 **** --- 130,139 ---- /// Fill the map with extensions and language numbers void FillExtensionMap(CConfigFile *conf); + + /// ThreadProc function to Parse all the Syntax Files, will be called by RunThread + UINT ParseSyntaxFilesThreadProc(); + + /// Static thread function to Parse the Syntax Files in the background + static UINT RunThread( LPVOID pParam ) { return ((CFileTypeManager*)pParam)->ParseSyntaxFilesThreadProc(); } }; Index: FileTypeManager.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/FileTypeManager.cpp,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** FileTypeManager.cpp 11 Apr 2005 06:47:47 -0000 1.27 --- FileTypeManager.cpp 11 Apr 2005 06:56:12 -0000 1.28 *************** *** 247,250 **** --- 247,270 ---- FillLanguageNames(conf); LoadSyntaxFiles(conf); + + // Let's parse all the Syntax Files in the background if we have the time + AfxBeginThread( RunThread, (LPVOID)this, THREAD_PRIORITY_LOWEST ); + } + + UINT CFileTypeManager::ParseSyntaxFilesThreadProc() + { + int iLanguageNr; + POSITION pos; + CSyntaxFile* pSyntaxFile; + + // Walk the Syntax File objects + pos = m_mapSyntaxFiles.GetStartPosition(); + while( NULL != pos ) + { + m_mapSyntaxFiles.GetNextAssoc( pos, iLanguageNr, pSyntaxFile ); + if( NULL != pSyntaxFile ) pSyntaxFile->Parse(); + } + + return 0; } |
From: Leon W. <moo...@us...> - 2005-04-11 06:53:24
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32072 Modified Files: SyntaxFile.cpp SyntaxFile.h Log Message: - Added CriticalSection and a SingleLock on the Parse function, to be able to Parse the SyntaxFiles in a seperate thread - Added extra code to make sure the file is parsed in every function. Index: SyntaxFile.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/SyntaxFile.cpp,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** SyntaxFile.cpp 11 Apr 2005 06:40:10 -0000 1.25 --- SyntaxFile.cpp 11 Apr 2005 06:52:58 -0000 1.26 *************** *** 74,77 **** --- 74,81 ---- pug::xml_node xnode; + // Ok, lock the parse function. So it can be done in another thread. + // The waiting thread will return immediatly by the next statement after parsing is done. + CSingleLock sLock( &m_csCriticalSection, TRUE ); + // We also check it here, so we don't read the rest // everytime we call this function. *************** *** 132,135 **** --- 136,143 ---- { if( iSet < 0 || iSet >= KEYWORDSET_MAX ) return _T(""); + + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return _T(""); + return KeywordDescription[iSet]; } *************** *** 143,146 **** --- 151,157 ---- if( iSet < 0 || iSet >= KEYWORDSET_MAX ) return false; + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return false; + KeywordsSpaceDelimited[iSet].Empty(); *************** *** 197,201 **** { if( iSet < 0 || iSet >= KEYWORDSET_MAX ) return _T(""); ! else return KeywordsSpaceDelimited[iSet]; } --- 208,216 ---- { if( iSet < 0 || iSet >= KEYWORDSET_MAX ) return _T(""); ! ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return _T(""); ! ! return KeywordsSpaceDelimited[iSet]; } *************** *** 206,212 **** CString szDelimited; ! if( iSet < 0 || iSet >= KEYWORDSET_MAX ) return ""; ! if( 0 == Keywords[iSet].GetSize() ) return ""; for( iCount = 0; iCount < Keywords[iSet].GetSize(); ++ iCount ) --- 221,230 ---- CString szDelimited; ! if( iSet < 0 || iSet >= KEYWORDSET_MAX ) return _T(""); ! // Make sure the file is parsed. ! if( !m_bParsed && !Parse() ) return _T(""); ! ! if( 0 == Keywords[iSet].GetSize() ) return _T(""); for( iCount = 0; iCount < Keywords[iSet].GetSize(); ++ iCount ) *************** *** 232,235 **** --- 250,256 ---- CSortedArray<CString, CString> AllKeywords; + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return _T(""); + AllKeywords.SetCompareFunction( CompareCString ); *************** *** 263,270 **** pug::xml_node xnode; xnode = m_xml_parser.document().first_element_by_name( TAG_LEXER ); ! if( xnode.empty() ) return -1; xnode = xnode.first_element_by_name( TAG_LEXER_NAME ); ! if( xnode.empty() && !xnode.children() ) return -1; name = xnode.child(0).value(); --- 284,294 ---- pug::xml_node xnode; + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return SCLEX_NULL; + xnode = m_xml_parser.document().first_element_by_name( TAG_LEXER ); ! if( xnode.empty() ) return SCLEX_NULL; xnode = xnode.first_element_by_name( TAG_LEXER_NAME ); ! if( xnode.empty() && !xnode.children() ) return SCLEX_NULL; name = xnode.child(0).value(); *************** *** 337,341 **** for( i = 0; i < name.GetLength(); ++ i ) { ! if( !isdigit( name[i] ) ) return -1; } --- 361,365 ---- for( i = 0; i < name.GetLength(); ++ i ) { ! if( !isdigit( name[i] ) ) return SCLEX_NULL; } *************** *** 352,355 **** --- 376,382 ---- pug::xml_node xnode; + // Make sure the file is parsed. + if( !m_bParsed && !Parse() ) return 0; + xnode = m_xml_parser.document().first_element_by_name( TAG_LEXER ); if( xnode.empty() ) return 0; Index: SyntaxFile.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/SyntaxFile.h,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** SyntaxFile.h 11 Apr 2005 06:40:10 -0000 1.17 --- SyntaxFile.h 11 Apr 2005 06:52:58 -0000 1.18 *************** *** 145,148 **** --- 145,151 ---- { protected: + /// Critical Section object to be able to Parse the file Thread-Safe. + CCriticalSection m_csCriticalSection; + /// Keep track of the max defined style. int iMaxStyle; |
From: Leon W. <moo...@us...> - 2005-04-11 06:48:13
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29430 Modified Files: FileTypeManager.cpp Log Message: - Improved SetScintillaProperties to correctly colour a document (when switching languages). - Added Scinitlla VisibilityPolicy setting. - Cleaned up LoadSyntaxFiles code. - Small code cleanups. Index: FileTypeManager.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/FileTypeManager.cpp,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** FileTypeManager.cpp 31 Jan 2005 22:54:02 -0000 1.26 --- FileTypeManager.cpp 11 Apr 2005 06:47:47 -0000 1.27 *************** *** 87,91 **** szFileName += SYNTAX_DIR; szFileName += conf->GetLanguageSyntaxFileName( iCount ); ! pSyntaxFile = GetSyntaxFile( iCount ); if( NULL == pSyntaxFile || szFileName != pSyntaxFile->GetFilename() ) --- 87,91 ---- szFileName += SYNTAX_DIR; szFileName += conf->GetLanguageSyntaxFileName( iCount ); ! pSyntaxFile = GetSyntaxFile( iCount ); if( NULL == pSyntaxFile || szFileName != pSyntaxFile->GetFilename() ) *************** *** 95,99 **** // Create new file. pSyntaxFile = new CSyntaxFile(); ! if (NULL == pSyntaxFile) continue; // throw memory exception! } --- 95,99 ---- // Create new file. pSyntaxFile = new CSyntaxFile(); ! if (NULL == pSyntaxFile) continue; // throw memory exception! } *************** *** 109,116 **** if( !fp ) { - CFile file1; - CFile file2; - UINT bytesRead; - char filebuffer[1024]; // The username file doesn't exist read the default CString szDefaultFileName=theApp.GetAppPath(); --- 109,112 ---- *************** *** 120,140 **** szDefaultFileName += conf->GetLanguageSyntaxFileName( iCount ); ! if( !file1.Open( szDefaultFileName, CFile::modeRead | CFile::typeBinary ) ) { ! delete pSyntaxFile; ! continue; } ! ! if( !file2.Open( szFileName, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary ) ) { delete pSyntaxFile; ! continue; ! } ! ! bytesRead = 1; ! while( bytesRead ) ! { ! bytesRead = file1.Read( filebuffer, 1024 ); ! if( bytesRead ) file2.Write( filebuffer, bytesRead ); } } --- 116,140 ---- szDefaultFileName += conf->GetLanguageSyntaxFileName( iCount ); ! fp = fopen( szDefaultFileName, "r" ); ! if( fp ) { ! fclose( fp ); ! pSyntaxFile->SetFilename( szDefaultFileName ); ! if( pSyntaxFile->Parse() ) ! { ! pSyntaxFile->SetFilename( szFileName ); ! pSyntaxFile->SetModified( true ); ! pSyntaxFile->Save(); ! } ! else ! { ! delete pSyntaxFile; ! pSyntaxFile = NULL; ! } } ! else { delete pSyntaxFile; ! pSyntaxFile = NULL; } } *************** *** 143,148 **** fclose( fp ); } ! // Add the parsed object to the Syntax file map. ! m_mapSyntaxFiles.SetAt( iCount, pSyntaxFile ); } } --- 143,156 ---- fclose( fp ); } ! if( NULL == pSyntaxFile ) ! { ! // Remove the language from the Syntax file map. ! m_mapSyntaxFiles.RemoveKey( iCount ); ! } ! else ! { ! // Add the parsed object to the Syntax file map. ! m_mapSyntaxFiles.SetAt( iCount, pSyntaxFile ); ! } } } *************** *** 275,284 **** pScintilla->StyleClearAll(); // Do some default AnyEdit settings pScintilla->StyleSetEOLFilled( STYLE_DEFAULT, true ); pScintilla->UsePopUp( false ); - pScintilla->SetCaretFore( pConfigFile->GetCaretColor() ); - pScintilla->SetSelFore( pConfigFile->UseSelectionForegroundColor(), pConfigFile->GetSelectionForegroundColor() ); pScintilla->SetSelBack( pConfigFile->UseSelectionBackgroundColor(), pConfigFile->GetSelectionBackgroundColor() ); --- 283,294 ---- pScintilla->StyleClearAll(); + // Clear stuff put by the lexer + pScintilla->SetLexer( SCLEX_NULL ); + pScintilla->ClearDocumentStyle(); + // Do some default AnyEdit settings pScintilla->StyleSetEOLFilled( STYLE_DEFAULT, true ); pScintilla->UsePopUp( false ); pScintilla->SetSelFore( pConfigFile->UseSelectionForegroundColor(), pConfigFile->GetSelectionForegroundColor() ); pScintilla->SetSelBack( pConfigFile->UseSelectionBackgroundColor(), pConfigFile->GetSelectionBackgroundColor() ); *************** *** 286,289 **** --- 296,300 ---- pScintilla->SetCaretLineVisible( pConfigFile->GetHighlightCurrentLine() ? 1 : 0 ); pScintilla->SetCaretWidth( 1 ); + pScintilla->SetCaretFore( pConfigFile->GetCaretColor() ); pScintilla->SetCaretLineBack( pConfigFile->GetHighlightCurrentLineColor() ); *************** *** 348,351 **** --- 359,363 ---- iTemp = pSyntaxFile->GetLexerNumber(); if( -1 != iTemp ) pScintilla->SetLexer( iTemp ); + else pScintilla->SetLexer( SCLEX_NULL ); // Set the lexer properties *************** *** 381,386 **** for( iCount = 0; iCount <= KEYWORDSET_MAX; ++ iCount ) { ! szTemp = pSyntaxFile->GetDelimitedKeywordSet( iCount, ' ' ); ! if( !szTemp.IsEmpty() ) pScintilla->SetKeyWords( iCount, szTemp ); } } --- 393,397 ---- for( iCount = 0; iCount <= KEYWORDSET_MAX; ++ iCount ) { ! pScintilla->SetKeyWords( iCount, pSyntaxFile->GetSpaceDelimitedKeywordSet( iCount ) ); } } *************** *** 388,392 **** { // At least set the scintilla default style if we don't use syntax highlighting. ! for( iCount = STYLE_DEFAULT + 1; iCount < STYLE_LASTPREDEFINED; ++ iCount ) { // Set the font properties of the style --- 399,403 ---- { // At least set the scintilla default style if we don't use syntax highlighting. ! for( iCount = 0; iCount < STYLE_LASTPREDEFINED; ++ iCount ) { // Set the font properties of the style *************** *** 402,408 **** pScintilla->StyleSetFore( iCount, pSyntaxFile->GetStyleColorForeground( iCount ) ); pScintilla->StyleSetBack( iCount, pSyntaxFile->GetStyleColorBackground( iCount ) ); } } ! pScintilla->SetVisibleLineNumber(pSyntaxFile->GetMarginLineNumber()); } --- 413,426 ---- pScintilla->StyleSetFore( iCount, pSyntaxFile->GetStyleColorForeground( iCount ) ); pScintilla->StyleSetBack( iCount, pSyntaxFile->GetStyleColorBackground( iCount ) ); + + // With no syntax highlighting we can skip 1 to STYLE_DEFAULT + // STYLE_DEFAULT has already been set when we cleared all. + // We will continue at STYLE_DEFAULT + 1. + if( iCount == 0 ) iCount = STYLE_DEFAULT; } } ! ! // Ok now restyle the document. ! pScintilla->Colourise(0,-1); } *************** *** 410,416 **** BOOL CFileTypeManager::GetBraceMatching(int iLanguage) { ! CSyntaxFile* pSyntaxFile; ! ! pSyntaxFile = GetSyntaxFile( iLanguage ); if( NULL == pSyntaxFile ) return FALSE; --- 428,432 ---- BOOL CFileTypeManager::GetBraceMatching(int iLanguage) { ! CSyntaxFile* pSyntaxFile = GetSyntaxFile( iLanguage ); if( NULL == pSyntaxFile ) return FALSE; *************** *** 423,429 **** BOOL CFileTypeManager::GetSyntaxHighlighting(int iLanguage) { ! CSyntaxFile* pSyntaxFile; ! ! pSyntaxFile = GetSyntaxFile( iLanguage ); if( NULL == pSyntaxFile ) return FALSE; --- 439,443 ---- BOOL CFileTypeManager::GetSyntaxHighlighting(int iLanguage) { ! CSyntaxFile* pSyntaxFile = GetSyntaxFile( iLanguage ); if( NULL == pSyntaxFile ) return FALSE; *************** *** 446,450 **** if( !pSyntaxFile->Parse() ) return; ! pScintilla->SetViewWS( pSyntaxFile->GetWhiteSpace() ? 1 : 0 ); pScintilla->SetViewEOL( pSyntaxFile->GetEOL() ? 1 : 0 ); --- 460,464 ---- if( !pSyntaxFile->Parse() ) return; ! pScintilla->SetViewWS( pSyntaxFile->GetWhiteSpace() ? 1 : 0 ); pScintilla->SetViewEOL( pSyntaxFile->GetEOL() ? 1 : 0 ); *************** *** 480,483 **** --- 494,502 ---- pScintilla->DefineMarker(SC_BOOKMARK, SC_MARK_ARROW, RGB(0,0,255), RGB(231,231,255)); pScintilla->DefineMarker(SC_MARK_SHORTARROW, SC_MARK_SHORTARROW, RGB(107,27,18), RGB(251,252,226)); + + // Set Caret and Visibility Policy + // pScintilla->SetXCaretPolicy( CARET_STRICT, 0 ); + pScintilla->SetYCaretPolicy( CARET_SLOP|CARET_EVEN, 3 ); + pScintilla->SetVisiblePolicy( VISIBLE_STRICT, 0 ); } *************** *** 487,499 **** CString CFileTypeManager::GetDelimitedKeywords(int iLanguage, char cSep) { ! CString strKeyWords; ! strKeyWords.Empty(); ! ! CSyntaxFile* pSyntaxFile; ! ! pSyntaxFile = GetSyntaxFile( iLanguage ); ! if( NULL == pSyntaxFile ) return strKeyWords; ! if( !pSyntaxFile->Parse() ) return strKeyWords; return pSyntaxFile->GetDelimitedKeywords(cSep); --- 506,513 ---- CString CFileTypeManager::GetDelimitedKeywords(int iLanguage, char cSep) { ! CSyntaxFile* pSyntaxFile = GetSyntaxFile( iLanguage ); ! if( NULL == pSyntaxFile ) return _T(""); ! if( !pSyntaxFile->Parse() ) return _T(""); return pSyntaxFile->GetDelimitedKeywords(cSep); *************** *** 517,521 **** m_arrLanguageNames.InsertAt(iCount, strLanguageName); } ! } /// Create filter string for file open dialog. --- 531,535 ---- m_arrLanguageNames.InsertAt(iCount, strLanguageName); } ! } /// Create filter string for file open dialog. *************** *** 549,553 **** CString CFileTypeManager::GetFileFilter( int iLanguage ) { ! return GetLanguageName( iLanguage ) + " (" + m_arrFilters.GetAt( iLanguage ) + ")|" + m_arrFilters.GetAt( iLanguage ); } --- 563,567 ---- CString CFileTypeManager::GetFileFilter( int iLanguage ) { ! return GetLanguageName( iLanguage ) + " (" + m_arrFilters.GetAt( iLanguage ) + ")|" + m_arrFilters.GetAt( iLanguage ); } |
From: Leon W. <moo...@us...> - 2005-04-11 06:40:21
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26332 Modified Files: SyntaxFile.cpp SyntaxFile.h Log Message: - Added SpaceDelimitedKeywordSet for faster access to a delimited Keywordset. Index: SyntaxFile.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/SyntaxFile.cpp,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** SyntaxFile.cpp 27 Nov 2004 15:16:40 -0000 1.24 --- SyntaxFile.cpp 11 Apr 2005 06:40:10 -0000 1.25 *************** *** 1,2 **** --- 1,26 ---- + /**************************************************************************** + Copyright (C) AnyEdit Team + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + http://www.anyedit.org + *****************************************************************************/ + // SyntaxFile.cpp: implementation of the CSyntaxFile class. // *************** *** 42,47 **** } ! // Function to actually parse the synfile and the ability to check ! // if all goes well. bool CSyntaxFile::Parse() { --- 66,70 ---- } ! // Function to actually parse the synfile and the ability to check if all goes well. bool CSyntaxFile::Parse() { *************** *** 97,100 **** --- 120,125 ---- { Keywords[iCount].Add( CString( xnode.child( iWordCount ).child(0).value() ) ); + if( iWordCount > 0 ) KeywordsSpaceDelimited[iCount] += _T(" "); + KeywordsSpaceDelimited[iCount] += CString( xnode.child( iWordCount ).child(0).value() ); } } *************** *** 118,121 **** --- 143,148 ---- if( iSet < 0 || iSet >= KEYWORDSET_MAX ) return false; + KeywordsSpaceDelimited[iSet].Empty(); + Keywords[iSet].RemoveAll(); int iBegin = 0; *************** *** 136,140 **** szKeyword = szKeywords.Mid( iBegin, iEnd - iBegin ); } ! if( !szKeyword.IsEmpty() ) Keywords[iSet].Add( szKeyword ); iBegin = iEnd + 1; } --- 163,172 ---- szKeyword = szKeywords.Mid( iBegin, iEnd - iBegin ); } ! if( !szKeyword.IsEmpty() ) ! { ! Keywords[iSet].Add( szKeyword ); ! if( iBegin > 0 ) KeywordsSpaceDelimited[iSet] += _T(" "); ! KeywordsSpaceDelimited[iSet] += szKeyword; ! } iBegin = iEnd + 1; } *************** *** 161,164 **** --- 193,203 ---- } + // Gets a String with all keywords out of iSet already delimited with spaces. + CString CSyntaxFile::GetSpaceDelimitedKeywordSet( int iSet ) + { + if( iSet < 0 || iSet >= KEYWORDSET_MAX ) return _T(""); + else return KeywordsSpaceDelimited[iSet]; + } + // Gets a String with all keywords out of iSet separated by cSep CString CSyntaxFile::GetDelimitedKeywordSet( int iSet, char cSep ) Index: SyntaxFile.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/SyntaxFile.h,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** SyntaxFile.h 27 Sep 2004 12:34:00 -0000 1.16 --- SyntaxFile.h 11 Apr 2005 06:40:10 -0000 1.17 *************** *** 1,2 **** --- 1,26 ---- + /**************************************************************************** + Copyright (C) AnyEdit Team + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + http://www.anyedit.org + *****************************************************************************/ + // SyntaxFile.h: interface for the CSyntaxFile class. // *************** *** 123,127 **** /// Keep track of the max defined style. int iMaxStyle; ! /// Sorted array with all the keywords of a language CSortedArray<CString, CString> Keywords[KEYWORDSET_MAX]; --- 147,151 ---- /// Keep track of the max defined style. int iMaxStyle; ! /// Sorted array with all the keywords of a language CSortedArray<CString, CString> Keywords[KEYWORDSET_MAX]; *************** *** 130,133 **** --- 154,160 ---- CString KeywordDescription[KEYWORDSET_MAX]; + /// Array with strings containing the all keywords of a set delimited by a space. + CString KeywordsSpaceDelimited[KEYWORDSET_MAX]; + /// Converts a char array with hex chars to an int. int RGBHexValueToColorInt( const CString& szRGBHexValue ); *************** *** 164,167 **** --- 191,197 ---- CString GetDelimitedKeywords( char cSep = ' ' ); + /// Gets a String with the keywords from set iSet delimited by a space. + CString GetSpaceDelimitedKeywordSet( int iSet ); + /// Gets a String with all keywords out of iSet separated by cSep CString GetDelimitedKeywordSet( int iSet, char cSep = ' ' ); |
From: Leon W. <moo...@us...> - 2005-04-11 06:35:01
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24055 Modified Files: AnyEditDoc.cpp Log Message: Fix: Don't change the language back to Default on save, when we have manually overridden it. Index: AnyEditDoc.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEditDoc.cpp,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -d -r1.51 -r1.52 *** AnyEditDoc.cpp 24 Mar 2005 09:20:59 -0000 1.51 --- AnyEditDoc.cpp 11 Apr 2005 06:34:48 -0000 1.52 *************** *** 1,2 **** --- 1,26 ---- + /**************************************************************************** + Copyright (C) AnyEdit Team + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + + http://www.anyedit.org + *****************************************************************************/ + // AnyEditDoc.cpp : implementation of the CAnyEditDoc class // *************** *** 276,282 **** // Check if we need to update the scintilla properties CMisc misc; int iTempLanguage = theApp.GetFileTypeManager()->GetLanguageNrFromExtension(misc.GetFileExtension(lpszPathName)); ! if(m_iLanguage != iTempLanguage) { // Save the language nr. --- 300,308 ---- // Check if we need to update the scintilla properties + // We only do this if we have non-default value for the iTempLanguage, + // because we don't want to switch Default when we did a manual override. CMisc misc; int iTempLanguage = theApp.GetFileTypeManager()->GetLanguageNrFromExtension(misc.GetFileExtension(lpszPathName)); ! if(iTempLanguage != 0 && m_iLanguage != iTempLanguage) { // Save the language nr. |
From: Leon W. <moo...@us...> - 2005-04-05 08:28:51
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4824 Modified Files: AnyEdit.rc AnyEditView.cpp Log Message: - Removed Show/Hide from View menu items. Check marks remain. Index: AnyEdit.rc =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEdit.rc,v retrieving revision 1.115 retrieving revision 1.116 diff -C2 -d -r1.115 -r1.116 *** AnyEdit.rc 5 Apr 2005 08:20:18 -0000 1.115 --- AnyEdit.rc 5 Apr 2005 08:28:40 -0000 1.116 *************** *** 368,376 **** MENUITEM "Wo&rd Wrap", ID_WORDWRAP MENUITEM SEPARATOR ! MENUITEM "Show &Line Numbers", ID_LINENUMBERS ! MENUITEM "Show BookMark Marg&in", ID_BOOKMARKMARGIN ! MENUITEM "Show &Fold Margin", ID_FOLDMARGIN ! MENUITEM "Show W&hitespaces", ID_VIEW_WHITESPACE ! MENUITEM "Show &EOL", ID_VIEW_EOL MENUITEM SEPARATOR MENUITEM "To&ggle Fold", ID_VIEW_TOGGLEFOLD --- 368,376 ---- MENUITEM "Wo&rd Wrap", ID_WORDWRAP MENUITEM SEPARATOR ! MENUITEM "&Line Numbers", ID_LINENUMBERS ! MENUITEM "Bookmark Marg&in", ID_BOOKMARKMARGIN ! MENUITEM "&Fold Margin", ID_FOLDMARGIN ! MENUITEM "W&hitespace", ID_VIEW_WHITESPACE ! MENUITEM "Display &EOL", ID_VIEW_EOL MENUITEM SEPARATOR MENUITEM "To&ggle Fold", ID_VIEW_TOGGLEFOLD Index: AnyEditView.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEditView.cpp,v retrieving revision 1.88 retrieving revision 1.89 diff -C2 -d -r1.88 -r1.89 *** AnyEditView.cpp 1 Feb 2005 07:02:57 -0000 1.88 --- AnyEditView.cpp 5 Apr 2005 08:28:41 -0000 1.89 *************** *** 1523,1532 **** if( ! m_Scintilla.IsVisibleLineNumber() ) { - pCmdUI->SetText( "Show LineNumbers" ); pCmdUI->SetCheck(0); } else { - pCmdUI->SetText( "Hide LineNumbers" ); pCmdUI->SetCheck(1); } --- 1523,1530 ---- *************** *** 1550,1559 **** if( m_Scintilla.GetMarginWidthN(1) == 0 ) { - pCmdUI->SetText( "Show Bookmark Margin" ); pCmdUI->SetCheck(0); } else { - pCmdUI->SetText( "Hide Bookmark Margin" ); pCmdUI->SetCheck(1); } --- 1548,1555 ---- *************** *** 1578,1587 **** if( m_Scintilla.GetMarginWidthN(2) == 0 ) { - pCmdUI->SetText( "Show Fold Margin" ); pCmdUI->SetCheck(0); } else { - pCmdUI->SetText( "Hide Fold Margin" ); pCmdUI->SetCheck(1); } --- 1574,1581 ---- *************** *** 1605,1614 **** if( m_Scintilla.GetViewWS() == SCWS_INVISIBLE ) { - pCmdUI->SetText( "Show Whitespace" ); pCmdUI->SetCheck(0); } else { - pCmdUI->SetText( "Hide Whitespace" ); pCmdUI->SetCheck(1); } --- 1599,1606 ---- *************** *** 1631,1645 **** { pCmdUI->SetCheck( m_Scintilla.GetViewEOL() ); - if( m_Scintilla.GetViewEOL() ) - { - pCmdUI->SetText( "Hide EOL" ); - } - else - { - pCmdUI->SetText( "Show EOL" ); - } } - void CAnyEditView::OnDestroy() { --- 1623,1628 ---- |
From: Leon W. <moo...@us...> - 2005-04-05 08:22:12
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3459 Modified Files: ToolRunner.cpp Log Message: - Bugfix: Help Tool Arguments needed to be Parsed before used as Keywords. Index: ToolRunner.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/ToolRunner.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** ToolRunner.cpp 24 Mar 2005 09:03:58 -0000 1.22 --- ToolRunner.cpp 5 Apr 2005 08:22:04 -0000 1.23 *************** *** 247,250 **** --- 247,256 ---- szCommand = m_pToolsConfigFile->GetToolCommand( m_iToolID ); szArgument = m_pToolsConfigFile->GetToolArguments( m_iToolID ); + if( !szArgument.IsEmpty() ) + { + szArgument = ConvertMacrosInString( szArgument ); + szArgument.TrimLeft(); + szArgument.TrimRight(); + } if( szCommand.GetLength() < 4 ) return; *************** *** 297,302 **** { // Ok, let's search for keywords - szArgument.TrimRight(); - aklink.cbStruct = sizeof( HH_AKLINK ); aklink.fReserved = FALSE; --- 303,306 ---- |
From: Leon W. <moo...@us...> - 2005-04-05 08:20:31
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2447 Modified Files: AnyEdit.cpp AnyEdit.rc MainFrm.cpp MainFrm.h resource.h Log Message: - Added Language Menu, to change the Syntax Highlighting language of the current document. Index: AnyEdit.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEdit.cpp,v retrieving revision 1.109 retrieving revision 1.110 diff -C2 -d -r1.109 -r1.110 *** AnyEdit.cpp 24 Mar 2005 09:22:31 -0000 1.109 --- AnyEdit.cpp 5 Apr 2005 08:20:17 -0000 1.110 *************** *** 72,76 **** #endif ! #define SETTINGS_VERSION_NUM 5 #define STARTUP_PAGE_FILENAME "StartPage\\home.htm" --- 72,76 ---- #endif ! #define SETTINGS_VERSION_NUM 6 #define STARTUP_PAGE_FILENAME "StartPage\\home.htm" Index: AnyEdit.rc =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEdit.rc,v retrieving revision 1.114 retrieving revision 1.115 diff -C2 -d -r1.114 -r1.115 *** AnyEdit.rc 9 Feb 2005 21:15:10 -0000 1.114 --- AnyEdit.rc 5 Apr 2005 08:20:18 -0000 1.115 *************** *** 410,413 **** --- 410,417 ---- ID_SEARCH_CLEARALLBOOKMARKS END + POPUP "&Language" + BEGIN + MENUITEM "Dummy", ID_MENU_LANGUAGE + END POPUP "&Tools" BEGIN *************** *** 2040,2044 **** STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Quick Jump" ! FONT 8, "MS Sans Serif" BEGIN GROUPBOX "Choose Location",IDC_STATIC,7,7,294,64 --- 2044,2048 ---- STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Quick Jump" ! FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN GROUPBOX "Choose Location",IDC_STATIC,7,7,294,64 Index: resource.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/resource.h,v retrieving revision 1.74 retrieving revision 1.75 diff -C2 -d -r1.74 -r1.75 *** resource.h 1 Feb 2005 07:03:03 -0000 1.74 --- resource.h 5 Apr 2005 08:20:21 -0000 1.75 *************** *** 651,657 **** #define ID_CLASSVIEW_UPDATE 33042 #define ID_EDIT_LAST 59999 // Next default values for new objects ! // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS --- 651,658 ---- #define ID_CLASSVIEW_UPDATE 33042 #define ID_EDIT_LAST 59999 + #define ID_MENU_LANGUAGE 60000 // Next default values for new objects ! // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS Index: MainFrm.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/MainFrm.cpp,v retrieving revision 1.77 retrieving revision 1.78 diff -C2 -d -r1.77 -r1.78 *** MainFrm.cpp 24 Mar 2005 09:12:55 -0000 1.77 --- MainFrm.cpp 5 Apr 2005 08:20:20 -0000 1.78 *************** *** 46,49 **** --- 46,50 ---- #include "CreateTagThread.h" #include "DocIter.h" + #include "ConfigFile.h" #ifdef _DEBUG *************** *** 110,113 **** --- 111,116 ---- ON_COMMAND_EX_RANGE(ID_USER_TOOL1, ID_USER_TOOL10, OnSelectedUserTools) ON_UPDATE_COMMAND_UI_RANGE(ID_USER_TOOL1, ID_USER_TOOL10, OnUpdateUserTools) + ON_COMMAND_EX_RANGE(ID_MENU_LANGUAGE, ID_MENU_LANGUAGE + 20, OnMenuLanguage) + ON_UPDATE_COMMAND_UI_RANGE(ID_MENU_LANGUAGE, ID_MENU_LANGUAGE + 20, OnUpdateMenuLanguage) ON_COMMAND_EX_RANGE(50000, 55000, OnSelectedPluginMenu) ON_REGISTERED_MESSAGE(BCGM_CUSTOMIZEHELP, OnHelpCustomizeToolbars) *************** *** 336,339 **** --- 339,354 ---- } + if (pMenuPopup->GetMenuBar()->CommandToIndex(ID_MENU_LANGUAGE) >= 0 ) + { + if (CBCGToolBar::IsCustomizeMode ()) + { + return FALSE; + } + + pMenuPopup->RemoveAllItems(); + + LoadLanguageMenu( pMenuPopup ); + } + if (pMenuPopup->GetMenuBar ()->CommandToIndex (ID_VIEW_TOOLBARS) >= 0) { *************** *** 462,465 **** --- 477,516 ---- } + void CMainFrame::LoadLanguageMenu(CBCGPopupMenu *popUp) + { + CMenu menu; + int iCount; + int iNrOfLanguages; + int iActiveLanguage; + + if( !menu.CreateMenu() ) return; + + CConfigFile* pConfigFile = theApp.GetConfigFile(); + ASSERT(pConfigFile != NULL); + + iActiveLanguage = -1; + CMDIChildWnd* pActiveChild = MDIGetActive(); + if(pActiveChild) + { + CView* pActiveView = pActiveChild->GetActiveView(); + if ( (pActiveView) && (pActiveView->IsKindOf(RUNTIME_CLASS(CAnyEditView))) ) + { + CAnyEditDoc* pDocument = (CAnyEditDoc*)pActiveView->GetDocument(); + ASSERT(pDocument != NULL); + iActiveLanguage = pDocument->GetLanguageNr(); + } + } + + iNrOfLanguages = pConfigFile->GetLanguageCount(); + for( iCount = 0; iCount < iNrOfLanguages; ++ iCount ) + { + UINT nFlags; + nFlags = MF_STRING | MF_ENABLED; + if( iCount == iActiveLanguage ) nFlags |= MF_CHECKED; + menu.AppendMenu( nFlags, ID_MENU_LANGUAGE + iCount, pConfigFile->GetLanguageName( iCount ) ); + } + popUp->GetMenuBar ()->ImportFromMenu(menu, TRUE); + } + BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { *************** *** 845,849 **** if( id < 0 || id > 9 || 0 == uiaUserTools[id] ) return FALSE; trToolRunner.ExecuteTool( uiaUserTools[id], &m_wndOutputBar ); ! return TRUE; } --- 896,900 ---- if( id < 0 || id > 9 || 0 == uiaUserTools[id] ) return FALSE; trToolRunner.ExecuteTool( uiaUserTools[id], &m_wndOutputBar ); ! return TRUE; } *************** *** 989,996 **** theApp.GetWorkspace()->GetCurrentProject()->GetFileSet(setFiles); ! std::string sFilename; for (STRSET::const_iterator i = setFiles.begin(); i != setFiles.end(); i++) { ! sFilename = (*i); arFiles.Add(sFilename.c_str()); } --- 1040,1047 ---- theApp.GetWorkspace()->GetCurrentProject()->GetFileSet(setFiles); ! std::string sFilename; for (STRSET::const_iterator i = setFiles.begin(); i != setFiles.end(); i++) { ! sFilename = (*i); arFiles.Add(sFilename.c_str()); } *************** *** 1007,1014 **** theApp.GetWorkspace()->GetFileSet(setFiles); ! std::string sFilename; for (STRSET::const_iterator i = setFiles.begin(); i != setFiles.end(); i++) { ! sFilename = (*i); arFiles.Add(sFilename.c_str()); } --- 1058,1065 ---- theApp.GetWorkspace()->GetFileSet(setFiles); ! std::string sFilename; for (STRSET::const_iterator i = setFiles.begin(); i != setFiles.end(); i++) { ! sFilename = (*i); arFiles.Add(sFilename.c_str()); } *************** *** 1030,1034 **** // run grep m_bFindInFilesContinue = true; ! m_bCanGrep = !m_fileGrep.Grep( this, /*this,*/ pMgr->GetFindString(), pMgr->GetFileTypes(), pArrFilesOrFolder, dwFlags ); --- 1081,1085 ---- // run grep m_bFindInFilesContinue = true; ! m_bCanGrep = !m_fileGrep.Grep( this, /*this,*/ pMgr->GetFindString(), pMgr->GetFileTypes(), pArrFilesOrFolder, dwFlags ); *************** *** 1308,1312 **** } ! BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) { if (m_bInCmdMsg) --- 1359,1363 ---- } ! BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) { if (m_bInCmdMsg) *************** *** 1345,1349 **** /// Close all open documents ! void CMainFrame::OnFileCloseAll() { OnWindowCloseAll(); --- 1396,1400 ---- /// Close all open documents ! void CMainFrame::OnFileCloseAll() { OnWindowCloseAll(); *************** *** 1407,1416 **** /// When grep is working the button is pushed. So you can stop grep. ! void CMainFrame::OnUpdateSearchFindfiles(CCmdUI* pCmdUI) { pCmdUI->SetCheck( m_bCanGrep ? 0 : 1); } ! /// Grep calls this function to interrupt the search. bool CMainFrame::CanContinueSearch() { --- 1458,1467 ---- /// When grep is working the button is pushed. So you can stop grep. ! void CMainFrame::OnUpdateSearchFindfiles(CCmdUI* pCmdUI) { pCmdUI->SetCheck( m_bCanGrep ? 0 : 1); } ! /// Grep calls this function to interrupt the search. bool CMainFrame::CanContinueSearch() { *************** *** 1434,1438 **** } ! void CMainFrame::OnSyncFileView() { m_bSyncFileView = !m_bSyncFileView; --- 1485,1489 ---- } ! void CMainFrame::OnSyncFileView() { m_bSyncFileView = !m_bSyncFileView; *************** *** 1440,1449 **** } ! void CMainFrame::OnUpdateSyncFileView(CCmdUI* pCmdUI) { pCmdUI->SetCheck( m_bSyncFileView ? TRUE : FALSE ); } ! BOOL CMainFrame::OnCommand(WPARAM wParam, LPARAM lParam) { if (m_bInCommand) --- 1491,1500 ---- } ! void CMainFrame::OnUpdateSyncFileView(CCmdUI* pCmdUI) { pCmdUI->SetCheck( m_bSyncFileView ? TRUE : FALSE ); } ! BOOL CMainFrame::OnCommand(WPARAM wParam, LPARAM lParam) { if (m_bInCommand) *************** *** 1476,1477 **** --- 1527,1549 ---- return CBCGMDIFrameWnd::OnCommand(wParam, lParam); } + + void CMainFrame::OnMenuLanguage(UINT uiId) + { + CMDIChildWnd* pActiveChild = MDIGetActive(); + if(pActiveChild) + { + CView* pActiveView = pActiveChild->GetActiveView(); + if ( (pActiveView) && (pActiveView->IsKindOf(RUNTIME_CLASS(CAnyEditView))) ) + { + CAnyEditDoc* pDocument = (CAnyEditDoc*)pActiveView->GetDocument(); + ASSERT(pDocument != NULL); + pDocument->SetLanguageNr( uiId - ID_MENU_LANGUAGE ); + } + } + + } + + void CMainFrame::OnUpdateMenuLanguage(CCmdUI* pCmdUI) + { + pCmdUI->Enable(); + } Index: MainFrm.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/MainFrm.h,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** MainFrm.h 29 Jan 2005 17:55:12 -0000 1.50 --- MainFrm.h 5 Apr 2005 08:20:21 -0000 1.51 *************** *** 32,35 **** --- 32,36 ---- void LoadToolMenus(CMenu &popUp); void LoadRecentMenus(CMenu &popUp); + void LoadLanguageMenu(CBCGPopupMenu *popUp); // Attributes *************** *** 182,185 **** --- 183,188 ---- afx_msg void OnSyncFileView(); afx_msg void OnUpdateSyncFileView(CCmdUI* pCmdUI); + afx_msg void OnMenuLanguage(UINT uiId); + afx_msg void OnUpdateMenuLanguage(CCmdUI* pCmdUI); //}}AFX_MSG void OnNewTemplate (UINT id); |
From: Leon W. <moo...@us...> - 2005-03-24 09:22:57
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24173 Modified Files: AnyEdit.cpp Log Message: Bugfix: Open Startup Page menu item was grey when no Startup Page was open. It now switches to the Startup Page when one is open. Index: AnyEdit.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEdit.cpp,v retrieving revision 1.108 retrieving revision 1.109 diff -C2 -d -r1.108 -r1.109 *** AnyEdit.cpp 24 Mar 2005 09:00:10 -0000 1.108 --- AnyEdit.cpp 24 Mar 2005 09:22:31 -0000 1.109 *************** *** 1106,1109 **** --- 1106,1124 ---- { OpenStartupPage(); + + CMDIChildWnd* pChild = ((CMainFrame*)m_pMainWnd)->MDIGetActive(); + while( pChild ) + { + CDocument* pDoc = pChild->GetActiveDocument(); + if( NULL != pDoc ) + { + if( pDoc->GetPathName() == GetAppPath() + STARTUP_PAGE_FILENAME) + { + pChild->MDIActivate(); + break; + } + } + pChild = (CMDIChildWnd*)pChild->GetWindow(GW_HWNDNEXT); + } } *************** *** 2096,2100 **** void CAnyEditApp::OnUpdateFileOpenstartuppage(CCmdUI* pCmdUI) { ! pCmdUI->Enable(GetStartupPage() != NULL); } --- 2111,2123 ---- void CAnyEditApp::OnUpdateFileOpenstartuppage(CCmdUI* pCmdUI) { ! if( GetStartupPage() != NULL ) ! { ! pCmdUI->SetText( "Switch to Startup Page" ); ! } ! else ! { ! pCmdUI->SetText( "Open Startup Page" ); ! } ! pCmdUI->Enable(TRUE); } |
From: Leon W. <moo...@us...> - 2005-03-24 09:21:07
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23218 Modified Files: AnyEditDoc.cpp Log Message: Bugfix: Copy On Select was always default on new documents. Index: AnyEditDoc.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEditDoc.cpp,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** AnyEditDoc.cpp 27 Jan 2005 13:46:08 -0000 1.50 --- AnyEditDoc.cpp 24 Mar 2005 09:20:59 -0000 1.51 *************** *** 71,74 **** --- 71,75 ---- m_bFileReadOnly = false; m_bLockCheckLastAccessTime = false; + m_bSelectCopy = false; } *************** *** 117,120 **** --- 118,131 ---- m_bOwnProjectFile = true; + CConfigFile* pConfigFile = theApp.GetConfigFile(); + if( NULL == pConfigFile ) + { + m_bSelectCopy = false; + } + else + { + m_bSelectCopy = pConfigFile->GetSelectCopy(); + } + return TRUE; } *************** *** 207,214 **** m_bBraceMatching = theApp.GetFileTypeManager()->GetBraceMatching(m_iLanguage); m_bSyntaxHighlighting = theApp.GetFileTypeManager()->GetSyntaxHighlighting(m_iLanguage); ! CConfigFile* pFile = theApp.GetConfigFile(); ! if (pFile == NULL) ! m_bSelectCopy = FALSE; ! m_bSelectCopy = pFile->GetSelectCopy(); // Use Scintilla to open the file. --- 218,231 ---- m_bBraceMatching = theApp.GetFileTypeManager()->GetBraceMatching(m_iLanguage); m_bSyntaxHighlighting = theApp.GetFileTypeManager()->GetSyntaxHighlighting(m_iLanguage); ! ! CConfigFile* pConfigFile = theApp.GetConfigFile(); ! if( NULL == pConfigFile ) ! { ! m_bSelectCopy = false; ! } ! else ! { ! m_bSelectCopy = pConfigFile->GetSelectCopy(); ! } // Use Scintilla to open the file. |
From: Leon W. <moo...@us...> - 2005-03-24 09:13:03
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18199 Modified Files: MainFrm.cpp Log Message: Bugfix: OutputBar now becomes visible on a Find In Files. Index: MainFrm.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/MainFrm.cpp,v retrieving revision 1.76 retrieving revision 1.77 diff -C2 -d -r1.76 -r1.77 *** MainFrm.cpp 4 Feb 2005 13:58:26 -0000 1.76 --- MainFrm.cpp 24 Mar 2005 09:12:55 -0000 1.77 *************** *** 951,954 **** --- 951,957 ---- m_wndOutputBar.SetActiveTab( 2 ); + // Make sure the window is visible. + if( !( m_wndOutputBar.GetStyle() & WS_VISIBLE ) ) ShowControlBar(&m_wndOutputBar, TRUE, FALSE ); + m_wndOutputBar.GetActiveTab()->ClearOutputParser(); if (pMgr->IsCountOnly()) |
From: Leon W. <moo...@us...> - 2005-03-24 09:10:57
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17006 Modified Files: ScintillaEx.cpp Log Message: Bugfix: Find results were hidden by a fold. Folds are now opened. [#1114712] Index: ScintillaEx.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/ScintillaEx.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** ScintillaEx.cpp 21 Dec 2004 08:19:07 -0000 1.22 --- ScintillaEx.cpp 24 Mar 2005 09:10:48 -0000 1.23 *************** *** 1080,1083 **** --- 1080,1084 ---- { SetSel(GetTargetStart(), GetTargetEnd()); + EnsureVisibleEnforcePolicy( LineFromPosition( GetTargetStart() ) ); } |
From: Leon W. <moo...@us...> - 2005-03-24 09:04:16
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14062 Modified Files: ToolPref.cpp ToolRunner.cpp ToolRunner.h Log Message: - Fixed the running of Console Applications (batch files) - Added tool support for help files. Help extensions HLP are opened with winhlp32.exe. The rest is opened using HtmlHelp function. - Added script tool suppport. Tools are now able to run scripts using cscript.exe. Index: ToolRunner.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/ToolRunner.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ToolRunner.h 22 Jul 2004 19:49:16 -0000 1.8 --- ToolRunner.h 24 Mar 2005 09:03:58 -0000 1.9 *************** *** 59,62 **** --- 59,65 ---- void ExecuteHelpFile(); + /// Execute a Script Tool. + void ExecuteScriptTool( COutputBar *wndOutput ); + public: /// Default constructor Index: ToolRunner.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/ToolRunner.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** ToolRunner.cpp 8 Nov 2004 07:07:55 -0000 1.21 --- ToolRunner.cpp 24 Mar 2005 09:03:58 -0000 1.22 *************** *** 86,89 **** --- 86,92 ---- ExecuteHelpFile(); break; + case 3: + ExecuteScriptTool( wndOutput ); + break; } } *************** *** 93,96 **** --- 96,101 ---- { CString szTemp; + CString szCommand; + CString szArgument; // Create a child process. *************** *** 104,114 **** } // Make and add the command line to the CProcess. ! childProcess->SetCommandLine( MakeCommandLineString() ); childProcess->SetInheritHandles(); childProcess->SetStartupFlags( STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES ); ! // Tell the process we execute a console application. ! childProcess->SetCreationFlags( CREATE_NEW_CONSOLE ); // Do we need to see a window. --- 109,153 ---- } + // We need to know wich version of Windows we are on. + // Cmd.exe is only available of Windows NT and above. + // So we use Command.com on 95 & 98. + // We fake the check by checking for an associated + // console, we only have that on 95 & 98. + if( theApp.GetConsoleWindow() ) + { + szCommand = "\"Command.com\" /C \""; + } + else + { + szCommand = "\"Cmd.exe\" /Q /C \""; + } + + // Make and add the command line to the CProcess. ! szCommand += m_pToolsConfigFile->GetToolCommand( m_iToolID ); ! szCommand.TrimRight(); ! szCommand += "\""; ! ! // Retrieve the arguments from the config file and add them to the previous arguments. ! szArgument = m_pToolsConfigFile->GetToolArguments( m_iToolID ); ! ! // If we have arguments convert them and add them to the command line. ! if( !szArgument.IsEmpty() ) ! { ! szCommand += " "; ! szCommand += ConvertMacrosInString( szArgument ); ! szCommand.TrimRight(); ! } ! ! childProcess->SetCommandLine( szCommand ); childProcess->SetInheritHandles(); childProcess->SetStartupFlags( STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES ); ! // If we have an console associated, we don't need another one. ! if( !theApp.GetConsoleWindow() ) ! { ! // Tell the process we execute a console application. ! childProcess->SetCreationFlags( CREATE_NEW_CONSOLE ); ! } // Do we need to see a window. *************** *** 200,204 **** void CToolRunner::ExecuteHelpFile() { ! // TODO } --- 239,428 ---- void CToolRunner::ExecuteHelpFile() { ! CString szTemp; ! CString szCommand; ! CString szArgument; ! HH_AKLINK aklink; ! // HH_FTS_QUERY ftsquery; ! ! szCommand = m_pToolsConfigFile->GetToolCommand( m_iToolID ); ! szArgument = m_pToolsConfigFile->GetToolArguments( m_iToolID ); ! ! if( szCommand.GetLength() < 4 ) return; ! ! szTemp = szCommand.Right( 3 ); ! szTemp.MakeUpper(); ! if( szTemp == "HLP" ) ! { ! // Old Help Files ! ! // Create a child process. ! CProcess* childProcess = new CProcess(); ! if( NULL == childProcess ) return; ! ! // Make and add the command line string. ! szTemp = "winhlp32.exe -k "; ! szTemp += szArgument; ! szTemp += " "; ! szCommand.Insert( 0, szTemp ); ! ! childProcess->SetCommandLine( szCommand ); ! childProcess->SetInheritHandles(); ! childProcess->SetStartupFlags( STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES ); ! ! // Do we start with a minimized window? ! if( m_pToolsConfigFile->GetToolRunMinimized( m_iToolID ) ) childProcess->SetShowWindow( SW_MINIMIZE ); ! else childProcess->SetShowWindow( SW_RESTORE ); ! ! // Create and set the directory to run it in. ! childProcess->SetCurrentDirectory( ConvertMacrosInString( m_pToolsConfigFile->GetToolInitialDir( m_iToolID ) ) ); ! ! // Run the child process. ! if( !childProcess->Run() ) ! { ! AfxMessageBox( "Failed Tool Execution", MB_ICONSTOP | MB_OK ); ! } ! } ! else ! { ! // CHM files ! szCommand.TrimRight(); ! ! if( NULL == HtmlHelp( theApp.m_pMainWnd->m_hWnd, szCommand, HH_DISPLAY_TOPIC, NULL ) ) ! { ! AfxMessageBox( "Failed To Open Help File", MB_ICONSTOP | MB_OK ); ! return; ! } ! ! if( !szArgument.IsEmpty() ) ! { ! // Ok, let's search for keywords ! szArgument.TrimRight(); ! ! aklink.cbStruct = sizeof( HH_AKLINK ); ! aklink.fReserved = FALSE; ! aklink.pszMsgText = "Unable to find keyword(s)"; ! aklink.pszMsgTitle = "Not Found"; ! aklink.pszUrl = NULL; ! aklink.pszWindow = NULL; ! aklink.fIndexOnFail = FALSE; ! ! aklink.pszKeywords = szArgument; ! ! HtmlHelp( theApp.m_pMainWnd->m_hWnd, szCommand, HH_KEYWORD_LOOKUP, (DWORD)&aklink ); ! ! /* ftsquery.cbStruct = sizeof( HH_FTS_QUERY ); ! ftsquery.fUniCodeStrings = FALSE; ! ftsquery.iProximity = 10; ! ftsquery.fStemmedSearch = FALSE; ! ftsquery.fTitleOnly = FALSE; ! ftsquery.fExecute = TRUE; ! ftsquery.pszWindow = NULL; ! ! ftsquery.pszSearchQuery = szArgument; ! ! HtmlHelp( theApp.m_pMainWnd->m_hWnd, szCommand, HH_DISPLAY_SEARCH, (DWORD)&ftsquery ); ! */ ! } ! ! } ! } ! ! // Execute a Script Tool. ! void CToolRunner::ExecuteScriptTool( COutputBar *wndOutput ) ! { ! CString szTemp; ! CString szCommand; ! CString szArgument; ! ! // Create a child process. ! CProcess* childProcess = new CProcess(); ! if( NULL == childProcess ) ! { ! if( NULL != wndOutput ) ! { ! wndOutput->GetActiveTab()->AddString( _T( "Unable to create process" ) ); ! } ! } ! ! // We use the Windows Scripting Host. ! szCommand = "\"cscript.exe\" \""; ! ! // Make and add the command line to the CProcess. ! szCommand += m_pToolsConfigFile->GetToolCommand( m_iToolID ); ! szCommand.TrimRight(); ! szCommand += "\" //NoLogo"; ! ! // Retrieve the arguments from the config file and add them to the previous arguments. ! szArgument = m_pToolsConfigFile->GetToolArguments( m_iToolID ); ! ! // If we have arguments convert them and add them to the command line. ! if( !szArgument.IsEmpty() ) ! { ! szCommand += " "; ! szCommand += ConvertMacrosInString( szArgument ); ! szCommand.TrimRight(); ! } ! ! childProcess->SetCommandLine( szCommand ); ! childProcess->SetInheritHandles(); ! childProcess->SetStartupFlags( STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES ); ! ! // Tell the process we execute a console application. ! childProcess->SetCreationFlags( CREATE_NEW_CONSOLE ); ! ! // Do we need to see a window. ! if( m_pToolsConfigFile->GetToolRunMinimized( m_iToolID ) ) childProcess->SetShowWindow( SW_HIDE ); ! else childProcess->SetShowWindow( SW_SHOW ); ! ! // Get the directory to run the tool in. ! szTemp = ConvertMacrosInString( m_pToolsConfigFile->GetToolInitialDir( m_iToolID ) ); ! childProcess->SetCurrentDirectory( szTemp ); ! if( NULL != wndOutput && m_pToolsConfigFile->GetToolCaptureOutput( m_iToolID ) ) ! { ! // First make sure the window is visible. ! if( !( wndOutput->GetStyle() & WS_VISIBLE ) ) ! { ! CMainFrame* pMainFrame = (CMainFrame*)wndOutput->GetParentFrame(); ! if( NULL != pMainFrame ) pMainFrame->ShowControlBar(wndOutput, TRUE, FALSE ); ! } ! ! // Clear the window ! wndOutput->GetActiveTab()->ClearAll(); ! wndOutput->GetActiveTab()->ClearOutputParser(); ! ! // Save the Initial Dir with the window for Error Line jumping ! wndOutput->GetActiveTab()->SetDirectoryPath( szTemp ); ! ! // Put the Tool name in the output window ! szTemp = "--- "; ! szTemp += m_pToolsConfigFile->GetToolName( m_iToolID ); ! szTemp += " ---"; ! wndOutput->GetActiveTab()->AddString( szTemp ); ! ! // Give the window to the child process. ! childProcess->SetMessageTarget( wndOutput ); ! ! // Create the STDOUT handles for the process. ! if( !childProcess->CreateHandles() ) ! { ! wndOutput->GetActiveTab()->AddString( _T( "Failed Tool Execution" ) ); ! return; ! } ! ! // Set the regular expression for Error Line parsing. ! if( !m_pToolsConfigFile->GetToolOLRRegex( m_iToolID ).IsEmpty() ) ! { ! wndOutput->GetActiveTab()->AddRegexToParser( m_pToolsConfigFile->GetToolOLRRegex( m_iToolID ), ! m_pToolsConfigFile->GetToolOLRFilenameIndex( m_iToolID ), ! m_pToolsConfigFile->GetToolOLRLineIndex( m_iToolID ), ! m_pToolsConfigFile->GetToolOLRMessageIndex( m_iToolID ) ); ! } ! } ! ! // Run the child process. ! if( !childProcess->Run() ) ! { ! wndOutput->GetActiveTab()->AddString( _T( "Failed Script Tool Execution" ) ); ! } } Index: ToolPref.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/ToolPref.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** ToolPref.cpp 27 Aug 2004 22:27:07 -0000 1.10 --- ToolPref.cpp 24 Mar 2005 09:03:57 -0000 1.11 *************** *** 100,103 **** --- 100,110 ---- CSAPrefsSubDlg::OnInitDialog(); + // Set the data for the ToolTypes + m_comboToolType.ResetContent(); + m_comboToolType.AddString( _T("Console Application") ); + m_comboToolType.AddString( _T("Windows Application") ); + m_comboToolType.AddString( _T("Help File") ); + m_comboToolType.AddString( _T("Windows Script") ); + // Select the first item in the list m_comboToolType.SetCurSel( 0 ); |
From: Leon W. <moo...@us...> - 2005-03-24 09:00:19
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12155 Modified Files: AnyEdit.cpp AnyEdit.h Log Message: On W98 & W95 we need to attach a console to AnyEdit to be able to run Console Applications as Tools and capture the output. Index: AnyEdit.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEdit.cpp,v retrieving revision 1.107 retrieving revision 1.108 diff -C2 -d -r1.107 -r1.108 *** AnyEdit.cpp 9 Feb 2005 21:16:12 -0000 1.107 --- AnyEdit.cpp 24 Mar 2005 09:00:10 -0000 1.108 *************** *** 139,142 **** --- 139,143 ---- m_pWorkspaceTags = new AETagMap; m_bDontAddToFileList = FALSE; + m_wConsole = NULL; } *************** *** 273,276 **** --- 274,310 ---- CSplashWnd::ShowSplashScreen(); + // We need to know wich version of Windows we are on. + // If we are on W95 or W98, we need a console associated + // with the application or the tools won't work. + OSVERSIONINFO osvi; + ZeroMemory( &osvi, sizeof( OSVERSIONINFO ) ); + osvi.dwOSVersionInfoSize = sizeof( OSVERSIONINFO ); + if( GetVersionEx( &osvi ) ) + { + if( osvi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS ) + { + if( AllocConsole() ) + { + HWND (WINAPI* pGetConsoleWindow)() = (HWND (WINAPI*)())GetProcAddress(GetModuleHandle(_T("kernel32.dll")), "GetConsoleWindow"); + if( NULL != pGetConsoleWindow ) + { + // If we have a function pointer, we use is it to get the + // Console Window. + m_wConsole = pGetConsoleWindow(); + } + else + { + // Ok, nu GetConsoleWindow pointer. First give the Console Window an + // unique name and find our named window. + SetConsoleTitle( "AnyEditConsole" ); + Sleep( 1 ); + m_wConsole = FindWindow( NULL, "AnyEditConsole" ); + } + // Now hide the Console Window if we found it. + if( m_wConsole ) ShowWindow( m_wConsole, SW_HIDE ); + } + } + } + // Standard initialization // If you are not using these features and wish to reduce the size *************** *** 537,540 **** --- 571,577 ---- } + // Free the allocated Console Window + if( m_wConsole ) FreeConsole(); + return CDumpHandleApp::ExitInstance(); } Index: AnyEdit.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEdit.h,v retrieving revision 1.69 retrieving revision 1.70 diff -C2 -d -r1.69 -r1.70 *** AnyEdit.h 9 Feb 2005 21:16:15 -0000 1.69 --- AnyEdit.h 24 Mar 2005 09:00:10 -0000 1.70 *************** *** 153,156 **** --- 153,159 ---- BOOL m_bDontAddToFileList; + // A handle to the associated console window (Only valid on W95 or W98) + HWND m_wConsole; + protected: /// Manager class for all Find/Replace operations. *************** *** 221,224 **** --- 224,230 ---- BOOL OnFileSaveall(BOOL bClose); + /// Get the Associated Console Window + HWND GetConsoleWindow() { return m_wConsole; } + // Overrides // ClassWizard generated virtual function overrides |
From: Guy H <da...@us...> - 2005-02-09 21:16:29
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18267/AnyEditv2 Modified Files: AnyEdit.cpp AnyEdit.h Log Message: Locked tags updating more securely so there will be no crashes Index: AnyEdit.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEdit.cpp,v retrieving revision 1.106 retrieving revision 1.107 diff -C2 -d -r1.106 -r1.107 *** AnyEdit.cpp 4 Feb 2005 14:01:29 -0000 1.106 --- AnyEdit.cpp 9 Feb 2005 21:16:12 -0000 1.107 *************** *** 1805,1808 **** --- 1805,1811 ---- bRet |= (*iNotify)->OnIdleNotify(lCount); + + CSingleLock lock(&m_critMapUpdaters, TRUE); + // Note: DoNextUpdate should NEVER EVER delete a AETagMap, or we'll get a deadlock! for (std::map<AETagMap*, AETagMapUpdater*>::iterator i = m_mTagMapUpdaters.begin(); i != m_mTagMapUpdaters.end(); i++) { *************** *** 1813,1816 **** --- 1816,1820 ---- } } + lock.Unlock(); return bRet; *************** *** 1975,1978 **** --- 1979,1983 ---- AETagMapUpdater* CAnyEditApp::FindTagMapUpdater(AETagMap* pMap) { + CSingleLock lock(&m_critMapUpdaters, TRUE); std::map<AETagMap*, AETagMapUpdater*>::iterator i = m_mTagMapUpdaters.find(pMap); if (i == m_mTagMapUpdaters.end()) *************** *** 1983,1986 **** --- 1988,1992 ---- void CAnyEditApp::AddTagMap(AETagMap* pMap) { + CSingleLock lock(&m_critMapUpdaters, TRUE); ASSERT(m_mTagMapUpdaters.find(pMap) == m_mTagMapUpdaters.end()); m_mTagMapUpdaters[pMap] = new AETagMapUpdater(pMap); *************** *** 1989,1992 **** --- 1995,1999 ---- void CAnyEditApp::RemoveTagMap(AETagMap* pMap) { + CSingleLock lock(&m_critMapUpdaters, TRUE); std::map<AETagMap*, AETagMapUpdater*>::iterator i = m_mTagMapUpdaters.find(pMap); ASSERT(i != m_mTagMapUpdaters.end()); Index: AnyEdit.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEdit.h,v retrieving revision 1.68 retrieving revision 1.69 diff -C2 -d -r1.68 -r1.69 *** AnyEdit.h 4 Dec 2004 09:01:24 -0000 1.68 --- AnyEdit.h 9 Feb 2005 21:16:15 -0000 1.69 *************** *** 139,142 **** --- 139,143 ---- CCreateTagThread* m_pCreateTags; std::map<AETagMap*, AETagMapUpdater*> m_mTagMapUpdaters; + CCriticalSection m_critMapUpdaters; // The main user config file for AnyEdit. |
From: Guy H <da...@us...> - 2005-02-09 21:15:23
|
Update of /cvsroot/anyedit/AnyEditv2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17852/AnyEditv2 Modified Files: AnyEdit.rc QuickJump.cpp QuickJump.h Log Message: 1. Fixed filter type to be drop-down combo 2. Fixed file filtering 3. Filter combo is now sorted Index: QuickJump.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/QuickJump.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** QuickJump.cpp 25 Sep 2004 13:10:08 -0000 1.16 --- QuickJump.cpp 9 Feb 2005 21:15:13 -0000 1.17 *************** *** 117,124 **** CClassTree::CreateClassImageList(m_imglist); - ((CComboBox*)GetDlgItem(IDC_TYPE))->SetCurSel(m_nType); if (m_bSingleFile) ! ((CComboBox*)GetDlgItem(IDC_TYPE))->DeleteString(5); m_qlist.ModifyStyle(LVS_ALIGNTOP,LVS_ALIGNTOP|LVS_SHOWSELALWAYS|LVS_SINGLESEL); --- 117,133 ---- CClassTree::CreateClassImageList(m_imglist); + CComboBox* pTypeBox = ((CComboBox*)GetDlgItem(IDC_TYPE)); + for (int i=0;i<pTypeBox->GetCount();i++) + pTypeBox->SetItemData(i, i); if (m_bSingleFile) ! { ! // No need for projects filter ! pTypeBox->DeleteString(5); ! // No need for files filter ! pTypeBox->DeleteString(1); ! if ((m_nType == 1) || (m_nType == 5)) ! m_nType = 0; ! } m_qlist.ModifyStyle(LVS_ALIGNTOP,LVS_ALIGNTOP|LVS_SHOWSELALWAYS|LVS_SINGLESEL); *************** *** 138,145 **** m_pTags->AddNotifier(this); ! if (FillTagList()) ! m_edit.SetFocus(); ! else ! PostMessage(WM_CLOSE); return FALSE; --- 147,165 ---- m_pTags->AddNotifier(this); ! // Select current type: ! for (i=0;i<pTypeBox->GetCount();i++) ! { ! if (pTypeBox->GetItemData(i) == m_nType) ! { ! pTypeBox->SetCurSel(i); ! break; ! } ! } ! if (i == pTypeBox->GetCount()) ! pTypeBox->SetCurSel(0); ! m_nType = -1; ! OnSelchangeType(); ! ! m_edit.SetFocus(); return FALSE; *************** *** 384,391 **** void CQuickJump::OnSelchangeType() { ! int nSel = ((CComboBox*)GetDlgItem(IDC_TYPE))->GetCurSel(); ! if (nSel == m_nType) return; ! m_nType = nSel; if ((m_nType < 1) || (m_bSingleFile && (m_nType == 1))) { --- 404,411 ---- void CQuickJump::OnSelchangeType() { ! int nType = GetSelectedType(); ! if (nType == m_nType) return; ! m_nType = nType; if ((m_nType < 1) || (m_bSingleFile && (m_nType == 1))) { *************** *** 407,415 **** } void CQuickJump::FillFilter() { m_cbFilter.ResetContent(); int i, nIndex; ! int nIndexAll = m_cbFilter.AddString("All"); if (nIndexAll != CB_ERR) m_cbFilter.SetItemData(nIndexAll, FILTER_ALL); --- 427,461 ---- } + void CQuickJump::AddFilesToFilter(const AEPROJECTITEMLIST& holder, const std::string& sProjectName) + { + int nIndex; + for (AEPROJECTITEMLIST::const_iterator i = holder.begin(); i != holder.end(); i++) + { + const AEProjectItemHolder* pInnerHolder = dynamic_cast<const AEProjectItemHolder*>(*i); + if (pInnerHolder != NULL) + { + AddFilesToFilter(pInnerHolder->operator const AEPROJECTITEMLIST&(), sProjectName); + continue; + } + const AEProjectFile* pFile = dynamic_cast<const AEProjectFile*>(*i); + if (pFile != NULL) + { + std::string sName = pFile->GetName(); + if (!sProjectName.empty()) + sName += " [" + sProjectName + "]"; + nIndex = m_cbFilter.AddString(sName.c_str()); + if (nIndex != CB_ERR) + m_cbFilter.SetItemData(nIndex, (DWORD)pFile); + } + } + } + void CQuickJump::FillFilter() { m_cbFilter.ResetContent(); int i, nIndex; ! // Note: the 'All' item MUST have a space before it so it will appear at the ! // top of the sorted combo. Ugly hack but it works. ! int nIndexAll = m_cbFilter.AddString(" All"); if (nIndexAll != CB_ERR) m_cbFilter.SetItemData(nIndexAll, FILTER_ALL); *************** *** 418,422 **** case 1: // Files ! break; case 2: --- 464,472 ---- case 1: // Files ! { ! const PROJECTLIST& list = theApp.GetWorkspace()->operator const PROJECTLIST&(); ! for (PROJECTLIST::const_iterator j = list.begin(); j != list.end(); j++) ! AddFilesToFilter((*j)->operator const AEPROJECTITEMLIST&(), list.size() > 1 ? (*j)->GetName() : _T("")); ! } break; case 2: *************** *** 480,481 **** --- 530,539 ---- m_bSelfChanging = false; } + + int CQuickJump::GetSelectedType() + { + int nSel = ((CComboBox*)GetDlgItem(IDC_TYPE))->GetCurSel(); + if (nSel == CB_ERR) + return -1; + return ((CComboBox*)GetDlgItem(IDC_TYPE))->GetItemData(nSel); + } Index: QuickJump.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/QuickJump.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** QuickJump.h 9 Sep 2004 18:54:48 -0000 1.9 --- QuickJump.h 9 Feb 2005 21:15:13 -0000 1.10 *************** *** 72,75 **** --- 72,77 ---- BOOL FillTagList(); void FillFilter(); + int GetSelectedType(); + void AddFilesToFilter(const AEPROJECTITEMLIST& holder, const std::string& sProjectName); void AddTag(AETag* pTag); Index: AnyEdit.rc =================================================================== RCS file: /cvsroot/anyedit/AnyEditv2/AnyEdit.rc,v retrieving revision 1.113 retrieving revision 1.114 diff -C2 -d -r1.113 -r1.114 *** AnyEdit.rc 1 Feb 2005 07:02:55 -0000 1.113 --- AnyEdit.rc 9 Feb 2005 21:15:10 -0000 1.114 *************** *** 2040,2044 **** STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Quick Jump" ! FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN GROUPBOX "Choose Location",IDC_STATIC,7,7,294,64 --- 2040,2044 ---- STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Quick Jump" ! FONT 8, "MS Sans Serif" BEGIN GROUPBOX "Choose Location",IDC_STATIC,7,7,294,64 *************** *** 2048,2056 **** GROUPBOX "Filters",IDC_STATIC,13,35,281,30 LTEXT "&Type:",IDC_STATIC,19,48,19,8 ! COMBOBOX IDC_TYPE,45,46,85,73,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP LTEXT "&Filter:",IDC_STATIC_FILTER,136,49,18,8,NOT WS_VISIBLE ! COMBOBOX IDC_FILTER,157,46,129,83,CBS_DROPDOWNLIST | NOT ! WS_VISIBLE | WS_VSCROLL | WS_TABSTOP CONTROL "List1",IDC_QJ_LIST,"SysListView32",LVS_REPORT | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP,7,70,294,116 --- 2048,2056 ---- GROUPBOX "Filters",IDC_STATIC,13,35,281,30 LTEXT "&Type:",IDC_STATIC,19,48,19,8 ! COMBOBOX IDC_TYPE,45,46,85,73,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "&Filter:",IDC_STATIC_FILTER,136,49,18,8,NOT WS_VISIBLE ! COMBOBOX IDC_FILTER,157,46,129,83,CBS_DROPDOWNLIST | CBS_SORT | ! NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP CONTROL "List1",IDC_QJ_LIST,"SysListView32",LVS_REPORT | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP,7,70,294,116 |