I have the Retail version of Xtreme ToolkitPro v10.4.1. I'd like to use SyntaxEdit view in my application the same (or similar) way as it has been done in the MDITextEditor demo, but I have several problems.
I) A problem with scroll bars and splitters:
To see a BUG (or may be a feature :) ) you can do the following steps:
1) Run MDITextEditor demo. 2) Call Tools->Options... 3) Turn off horizontal scroll bar. 4) Press 'OK' button. 5) Call Window->Split and click in the center of SyntaxEdit view (or drag vertical splitter to the center of SyntaxEdit view)
You see? We have horizontal scroll bars in right-hand panes. Why? It is not very good :(
Then:
6) Call Tools->Options... again. 7) Turn on horizontal scroll bar. 8) Press 'OK' button.
You see? We have two horizontel scroll bars in right-hand panes. It is funny, isn't it?
Then, if we will perform thees steps with vertical scroll bar we would have INTEGER ZERO DIVISION error in line 1. in the following section of XTPSyntaxEditCtrl.cpp (RecalcScrollBars() method):
//---------------------------------------------------------
...
if (::IsWindow(m_hWnd)) { CXTPClientRect rcWnd(this);
-> line 1. iPageX = rcWnd.Width() / m_tm.tmAveCharWidth; iPageY = rcWnd.Height() / m_tm.tmHeight;
iMax += iPageX/2; }
...
//---------------------------------------------------------
So, I need help. How can I fix this problem in Xtreme ToolkitPro v10.4.1 sources I have? It would be very good to fix this problem in future releases.
II) A problem with syntax coloring schemes:
If I have only one syntax coloring scheme then all color and font changes in Editor Options dialog does not take place just after 'Ok' or 'Apply' button is pressed.
I think, that the reason of this problem is in this section of XTPSyntaxEditSectionManager.cpp souce file:
//--------------------------------------------------------- POSITION CXTPSyntaxEditSchemaFileInfoList::LookupName(const CString& csName, XTP_EDIT_SCHEMAFILEINFO& info) { for (POSITION pos = GetHeadPosition(); pos;) { -> line 1. info = GetNext(pos); if (csName.CompareNoCase(info.csName) == 0) { -> line 2. return pos; } } return NULL; } //---------------------------------------------------------
The line 1. changes 'pos' and the next list position is returned in the line 2! So, if we have only one syntax coloring schemes this method returns NULL every time!
Method LookupValue(), LookupDesc(), etc. have the same problems.
III) Resource string with ID XTP_IDS_EDIT_MSG_WARN_RELOAD "File - \\""%s\\ "" is modified by outside source!\nDo you want to reload?" has useless backslashes. It would be better to fix it.
|