Compare commits

2 Commits

Author SHA1 Message Date
GenevensiS d9b58bb5eb Selection highlight debug for linux
this is not optimized but it'll do for now
2026-06-05 05:08:57 +02:00
GenevensiS 512a237f39 fix keywords panel 2026-06-05 02:45:56 +02:00
5 changed files with 36 additions and 25 deletions
+3 -4
View File
@@ -27,10 +27,9 @@ if( NOT HUNSPELL_FOUND )
endif()
endif()
# You will most likely get a message about being unable to open hunspell-1.7.lib because pkgconf forgets to add the actual path to
# HUNSPELL_LIBRARIES. If so, uncomment the below line and point it to the correct vcpkg root folder/library. (For debug builds, add "debug\\" just before "lib\\")
# You will most likely get a message about being unable to open hunspell-1.7.lib because pkgconf forgets to add the actual path to HUNSPELL_LIBRARIES.
# If so, uncomment the below line and point it to the correct vcpkg root folder/library. (For debug builds, add "debug\\" just before "lib\\")
#set(HUNSPELL_LIBRARIES "C:\\PATH\\TO\\ROOT\\vcpkg\\installed\\${VCPKG_TARGET_TRIPLET}\\lib\\hunspell-1.7.lib")
message("-- Does this have a full path? If not, and it's just a file name, it's broken: Found Hunspell at ${HUNSPELL_LIBRARIES}")
include_directories("${PROJECT_BINARY_DIR}/src")
include_directories("${PROJECT_SOURCE_DIR}/src")
@@ -143,4 +142,4 @@ endif()
include(test/tests.cmake)
# Debug Message
message("-- Does this have a full path? If not, and it's just a file name, it's broken: Found Hunspell at ${HUNSPELL_LIBRARIES}")
message("-- Does this have a full path? If not, and it's just a file name, it's broken: ${HUNSPELL_LIBRARIES}")
+1
View File
@@ -59,6 +59,7 @@ void TextCtrl::updateSize() {
viewer.bounding_box.width = cs.GetWidth() - 2;
viewer.bounding_box.height = cs.GetHeight() - 2;
viewers.front()->getEditor()->determineSize(true);
InvalidateBestSize();
}
void TextCtrl::setValue(String* value, bool untagged) {
+19 -16
View File
@@ -60,29 +60,32 @@ void KeywordsPanel::initControls() {
sp = new wxBoxSizer(wxVERTICAL);
sp->Add(fixed, 0, wxEXPAND); sp->Show(fixed,false);
wxSizer* s1 = new wxBoxSizer(wxVERTICAL);
s1->Add(new wxStaticText(panel, wxID_ANY, _LABEL_("keyword")+_(":")), 0, wxTOP, 2);
s1->Add(keyword, 1, wxEXPAND | wxTOP, 2);
s1->Add(new wxStaticText(panel, wxID_ANY, _LABEL_("mode")+_(":")), 0, wxTOP, 2);
s1->Add(mode, 0, wxEXPAND | wxTOP, 2);
s1->Add(new wxStaticText(panel, wxID_ANY, _LABEL_("keyword")+_(":")), 0, wxTOP | wxLEFT, 4);
s1->Add(keyword, 0, wxEXPAND | wxTOP | wxLEFT, 4);
sp->Add(s1, 0, wxEXPAND | wxRIGHT, 4);
sp->Add(new wxStaticLine(panel), 0, wxEXPAND | wxTOP | wxBOTTOM, 8);
sp->Add(new wxStaticLine(panel), 0, wxEXPAND | wxTOP | wxBOTTOM, 16);
wxSizer* s9 = new wxBoxSizer(wxVERTICAL);
s9->Add(new wxStaticText(panel, wxID_ANY, _LABEL_("mode")+_(":")), 0, wxTOP | wxLEFT, 4);
s9->Add(mode, 0, wxEXPAND | wxTOP | wxLEFT, 4);
sp->Add(s9, 0, wxEXPAND | wxRIGHT, 4);
sp->Add(new wxStaticLine(panel), 0, wxEXPAND | wxTOP | wxBOTTOM, 16);
wxSizer* s2 = new wxBoxSizer(wxVERTICAL);
s2->Add(new wxStaticText(panel, wxID_ANY, _LABEL_("match")+_(":")), 0);
s2->Add(match, 1, wxEXPAND | wxTOP, 2);
s2->Add(add_param, 0, wxALIGN_LEFT | wxTOP, 2);
s2->Add(new wxStaticText(panel, wxID_ANY, _LABEL_("match")+_(":")), 0, wxTOP | wxLEFT, 4);
s2->Add(match, 0, wxEXPAND | wxTOP | wxLEFT, 4);
s2->Add(add_param, 0, wxALIGN_LEFT | wxTOP | wxLEFT, 4);
sp->Add(s2, 0, wxEXPAND | wxRIGHT, 4);
sp->Add(new wxStaticLine(panel), 0, wxEXPAND | wxTOP | wxBOTTOM, 8);
sp->Add(new wxStaticLine(panel), 0, wxEXPAND | wxTOP | wxBOTTOM, 16);
wxSizer* s3 = new wxBoxSizer(wxVERTICAL);
s3->Add(new wxStaticText(panel, wxID_ANY, _LABEL_("reminder")+_(":")), 0);
s3->Add(reminder, 1, wxEXPAND | wxTOP, 2);
s3->Add(ref_param, 0, wxALIGN_LEFT | wxTOP, 2);
s3->Add(errors, 0, wxEXPAND | wxTOP, 4);
s3->Add(new wxStaticText(panel, wxID_ANY, _LABEL_("reminder")+_(":")), 0, wxTOP | wxLEFT, 4);
s3->Add(reminder, 1, wxEXPAND | wxTOP | wxLEFT, 4);
s3->Add(ref_param, 0, wxALIGN_LEFT | wxTOP | wxLEFT, 4);
s3->Add(errors, 0, wxEXPAND | wxTOP | wxLEFT, 4);
//s3->Add(new wxStaticText(panel, wxID_ANY, _("Example:")), 0, wxTOP, 6);
sp->Add(s3, 1, wxEXPAND | wxRIGHT, 4);
sp->Add(new wxStaticLine(panel), 0, wxEXPAND | wxTOP | wxBOTTOM, 8);
sp->Add(new wxStaticLine(panel), 0, wxEXPAND | wxTOP | wxBOTTOM, 16);
wxSizer* s4 = new wxBoxSizer(wxVERTICAL);
s4->Add(new wxStaticText(panel, wxID_ANY, _LABEL_("rules")+_(":")), 0);
s4->Add(rules, 1, wxEXPAND | wxTOP, 2);
s4->Add(new wxStaticText(panel, wxID_ANY, _LABEL_("rules")+_(":")), 0, wxTOP | wxLEFT, 4);
s4->Add(rules, 1, wxEXPAND | wxTOP | wxLEFT, 4);
sp->Add(s4, 1, wxEXPAND | wxRIGHT, 4);
panel->SetSizer(sp);
// init splitter
+8
View File
@@ -671,6 +671,7 @@ void TextValueEditor::redrawSelection(size_t old_selection_start_i, size_t old_s
wxCaret* caret = editor().GetCaret();
if (caret->IsVisible()) caret->Hide();
}
#ifdef __WXMSW__
// Destroy the clientDC before reshowing the caret, prevent flicker on MSW
{
// Move selection
@@ -702,6 +703,13 @@ void TextValueEditor::redrawSelection(size_t old_selection_start_i, size_t old_s
drawWordListIndicators(dc, true);
}
}
#else
scroll_with_cursor = true;
if (ensureCaretVisible()) {
updateScrollbar();
}
redraw();
#endif
if (isCurrent()) {
showCaret();
}