mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-18 06:06:01 -06:00
Improved navigator ergonomics
git-svn-id: svn://ultimatepp.org/upp/trunk@563 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
82c6c856e4
commit
ed7653ecbd
5 changed files with 70 additions and 26 deletions
|
|
@ -62,6 +62,7 @@ AssistEditor::AssistEditor()
|
|||
browser.item.NoWantFocus();
|
||||
browser.item.WhenLeftClick = browser.item.WhenLeftDouble = THISBACK(BrowserGoto);
|
||||
browser.WhenKeyItem = THISBACK(BrowserGotoNF);
|
||||
browser.WhenClear = THISBACK(SyncCursor);
|
||||
browser.NameStart();
|
||||
|
||||
navigator = NAV_BROWSER;
|
||||
|
|
@ -535,8 +536,15 @@ bool AssistEditor::Key(dword key, int count)
|
|||
else
|
||||
if(auto_assist && InCode()) {
|
||||
if(key == '.' || key == '>' && Ch(GetCursor() - 2) == '-' ||
|
||||
key == ':' && Ch(GetCursor() - 2) == ':' || key == '(')
|
||||
key == ':' && Ch(GetCursor() - 2) == ':')
|
||||
Assist();
|
||||
else
|
||||
if(key == '(') {
|
||||
int q = GetCursor() - 1;
|
||||
String id = IdBack(q);
|
||||
if(id == "THISBACK")
|
||||
Assist();
|
||||
}
|
||||
}
|
||||
if(key == ',') {
|
||||
if(Ch(GetCursor()) == 184) {
|
||||
|
|
|
|||
|
|
@ -117,7 +117,9 @@ public:
|
|||
EditString search_scope;
|
||||
EditString search_item;
|
||||
EditString search;
|
||||
FrameRight<Button> clear;
|
||||
Callback WhenKeyItem;
|
||||
Callback WhenClear;
|
||||
|
||||
void Load();
|
||||
void LoadScope();
|
||||
|
|
@ -129,6 +131,8 @@ public:
|
|||
const CppItemInfo& GetItemInfo(int i) const;
|
||||
const CppItemInfo& GetItemInfo() const;
|
||||
bool Key(dword key, int count);
|
||||
bool IsSearch() const;
|
||||
void ClearSearch();
|
||||
|
||||
CodeBrowser();
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
PREMULTIPLIED
|
||||
IMAGE_ID(Clear)
|
||||
IMAGE_ID(data)
|
||||
IMAGE_ID(instance_data)
|
||||
IMAGE_ID(class_data)
|
||||
|
|
@ -25,26 +26,35 @@ IMAGE_ID(Ref)
|
|||
IMAGE_ID(Query)
|
||||
|
||||
IMAGE_BEGIN_DATA
|
||||
IMAGE_DATA(120,156,237,153,81,114,195,32,12,68,245,209,3,228,198,245,209,114,51,218,58,77,130,109,132,86,90,39,196,152,205,104)
|
||||
IMAGE_DATA(218,124,188,181,17,66,48,68,46,114,17,145,148,164,63,37,48,116,62,165,122,12,190,111,158,171,159,227,105,52,3,157)
|
||||
IMAGE_DATA(55,74,105,240,157,243,96,244,163,209,12,116,254,122,189,86,99,240,125,243,96,244,163,131,52,131,104,242,111,204,246,104)
|
||||
IMAGE_DATA(136,248,48,71,76,150,183,143,184,117,143,214,124,235,252,61,61,226,243,191,245,233,109,241,175,117,134,102,80,56,26,66)
|
||||
IMAGE_DATA(133,68,28,49,89,30,89,138,213,197,220,152,111,157,191,135,199,218,71,70,51,208,53,154,129,206,106,133,8,28,49,85)
|
||||
IMAGE_DATA(126,102,129,93,181,202,2,59,187,201,58,248,34,11,142,33,200,206,188,202,142,147,193,107,52,154,129,206,238,177,179,229)
|
||||
IMAGE_DATA(239,80,248,223,124,182,200,54,188,59,123,137,69,249,224,243,217,241,111,198,48,78,6,111,208,104,6,58,155,115,19,190)
|
||||
IMAGE_DATA(144,22,252,164,252,53,248,101,241,203,63,231,92,204,147,232,225,105,38,129,231,179,227,223,188,195,228,207,191,200,104,6)
|
||||
IMAGE_DATA(62,157,161,25,20,110,144,161,66,34,110,162,89,222,188,9,55,60,90,243,173,243,247,240,88,251,200,104,6,186,160,102)
|
||||
IMAGE_DATA(48,253,38,225,30,30,221,153,252,131,250,228,92,62,25,185,143,197,62,118,134,167,22,62,37,143,140,173,73,245,96,120)
|
||||
IMAGE_DATA(144,85,61,90,243,173,243,183,199,252,175,61,34,245,151,123,68,235,191,228,227,229,188,250,154,155,129,174,44,137,197,239)
|
||||
IMAGE_DATA(178,237,152,139,239,173,121,151,222,120,76,98,158,145,87,117,136,93,173,140,16,235,244,176,87,118,144,53,60,32,118,15)
|
||||
IMAGE_DATA(15,102,12,76,14,65,182,232,225,100,23,30,65,246,225,65,176,239,145,213,25,197,238,60,159,254,29,215,107,58,35,227)
|
||||
IMAGE_DATA(55,215,96,138,123,28,153,191,177,207,155,143,184,199,49,199,255,9,252,205,35,206,30,88,7,185,77,250,19,119,204,250)
|
||||
IMAGE_DATA(166,182,57,134,159,217,123,4,60,24,126,193,6,60,24,190,200,58,60,24,190,202,2,30,201,17,253,232,52,205,0,255)
|
||||
IMAGE_DATA(109,98,111,126,181,219,7,154,65,156,95,176,1,15,134,47,178,222,223,233,130,124,149,5,60,70,51,168,106,34,6,62)
|
||||
IMAGE_DATA(57,174,227,52,86,2,30,25,155,34,30,12,191,98,23,5,136,120,48,188,194,194,30,12,111,176,166,7,195,131,172,234)
|
||||
IMAGE_DATA(145,215,26,26,218,59,160,31,45,135,104,236,169,131,156,12,152,206,92,75,164,185,59,25,19,81,221,157,128,137,212,119)
|
||||
IMAGE_DATA(38,172,16,206,203,51,185,103,230,29,173,185,120,189,54,211,15,65,117,183,148,0,0,0,0,0,0,0,0,0,0,0)
|
||||
IMAGE_END_DATA(608, 18)
|
||||
IMAGE_DATA(120,156,237,153,207,107,212,64,20,199,159,214,31,37,40,20,247,224,197,163,158,252,7,10,43,172,165,7,193,131,215,218)
|
||||
IMAGE_DATA(222,164,167,130,20,86,79,85,208,32,34,74,65,47,173,133,254,96,11,22,20,234,218,127,64,232,246,86,44,130,176,23)
|
||||
IMAGE_DATA(21,255,3,79,158,234,165,140,147,172,217,157,36,51,153,55,243,182,155,38,59,223,101,216,77,200,231,59,153,151,55,111)
|
||||
IMAGE_DATA(134,44,120,224,129,169,174,1,220,186,95,169,236,190,111,52,118,170,92,209,249,211,0,35,247,0,62,191,158,158,222,189)
|
||||
IMAGE_DATA(201,117,9,224,234,28,192,193,43,207,99,251,203,203,135,19,92,167,248,53,119,1,62,126,154,154,98,235,43,43,155,35)
|
||||
IMAGE_DATA(92,1,123,22,192,155,0,120,242,210,243,142,14,214,214,254,222,1,120,251,117,117,245,232,65,189,254,48,186,70,84,13)
|
||||
IMAGE_DATA(224,241,115,0,182,89,173,178,71,243,243,47,100,247,25,244,191,0,240,123,103,102,134,45,84,42,63,190,53,155,127,110)
|
||||
IMAGE_DATA(112,137,215,92,0,184,92,7,248,185,53,57,201,222,109,108,124,56,199,79,205,121,222,94,187,217,60,20,199,198,239,121)
|
||||
IMAGE_DATA(187,49,62,206,190,183,219,191,198,184,130,115,231,1,46,62,171,213,246,214,151,150,182,162,235,110,3,188,217,94,92,252)
|
||||
IMAGE_DATA(114,157,75,236,39,184,118,101,118,118,31,19,223,202,232,232,149,240,199,24,4,253,48,134,129,10,38,134,108,106,158,177)
|
||||
IMAGE_DATA(236,230,248,114,243,180,252,41,158,92,49,80,243,154,84,114,124,201,121,100,43,143,92,49,80,243,173,86,43,179,57,190)
|
||||
IMAGE_DATA(220,60,178,149,71,5,41,6,182,193,239,48,233,173,33,198,135,178,197,164,242,250,45,110,182,71,222,124,222,241,235,121)
|
||||
IMAGE_DATA(216,63,255,180,79,217,38,127,82,195,80,12,36,91,67,84,34,17,182,152,84,30,51,21,51,39,115,206,124,222,241,235)
|
||||
IMAGE_DATA(122,36,125,192,21,3,181,92,49,80,179,170,68,68,108,49,149,124,200,34,86,213,76,22,177,178,107,89,3,94,202,34)
|
||||
IMAGE_DATA(199,96,201,134,188,146,117,59,131,227,145,43,6,106,182,31,43,155,120,15,146,223,218,190,1,210,205,116,101,151,177,88)
|
||||
IMAGE_DATA(222,178,127,234,248,83,99,112,59,131,1,200,21,3,53,43,114,62,126,34,197,120,95,241,173,225,227,201,15,255,57,195)
|
||||
IMAGE_DATA(201,236,131,186,153,20,19,139,254,169,227,79,221,131,111,30,127,0,87,12,204,52,12,197,64,242,6,25,149,72,132,55)
|
||||
IMAGE_DATA(209,84,94,251,38,92,227,145,55,159,119,252,186,30,73,31,112,197,64,45,84,49,240,121,16,162,102,162,136,17,63,88)
|
||||
IMAGE_DATA(31,145,19,31,134,232,163,99,187,43,67,79,49,31,153,135,192,102,73,233,65,225,145,172,210,35,111,62,239,248,245,227)
|
||||
IMAGE_DATA(249,39,61,108,242,79,244,176,205,127,153,143,41,103,170,51,97,49,80,75,8,162,244,24,210,21,51,118,156,55,111,164)
|
||||
IMAGE_DATA(1,110,147,40,125,136,89,109,197,38,102,134,21,107,232,161,159,217,150,172,198,3,197,246,195,131,50,6,74,12,145,172)
|
||||
IMAGE_DATA(212,195,144,141,121,88,178,93,15,2,59,24,233,42,35,232,43,207,73,63,198,235,120,42,35,197,47,204,65,102,239,81)
|
||||
IMAGE_DATA(100,190,195,246,222,124,216,123,20,115,252,39,129,239,120,216,179,5,86,65,222,38,5,162,109,179,158,146,150,57,10,31)
|
||||
IMAGE_DATA(178,81,179,240,160,240,49,214,194,131,194,75,89,3,15,10,159,201,34,60,152,65,43,143,134,166,24,224,255,155,232,55)
|
||||
IMAGE_DATA(159,88,237,45,138,129,61,31,99,45,60,40,188,148,53,253,159,206,146,207,100,17,30,174,24,100,202,39,12,220,55,120)
|
||||
IMAGE_DATA(29,167,98,193,194,67,96,153,141,7,133,79,176,177,4,196,120,80,120,5,139,246,160,240,26,86,235,65,225,145,172,210)
|
||||
IMAGE_DATA(67,204,53,108,83,221,3,246,163,138,33,182,245,83,5,217,25,80,42,115,86,32,181,171,147,230,65,100,174,78,136,7)
|
||||
IMAGE_DATA(169,94,153,112,137,48,188,60,37,246,148,231,142,205,57,251,124,205,77,255,0,66,216,5,143,0,0,0,0,0,0,0)
|
||||
IMAGE_END_DATA(896, 19)
|
||||
|
||||
IMAGE_BEGIN_DATA
|
||||
IMAGE_DATA(120,156,237,151,219,14,131,48,8,134,185,223,46,124,228,62,154,111,134,157,137,166,34,32,135,213,67,226,159,176,44,29)
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
bool MatchCib(const String& s, const String& match)
|
||||
{
|
||||
if(IsNull(match)) return true;
|
||||
int q = ToUpper(s).Find(match);
|
||||
return q > 0 && !iscid(s[q - 1]) || q == 0;
|
||||
}
|
||||
|
|
@ -149,6 +150,7 @@ void CodeBrowser::LoadScope()
|
|||
item.Sort(1, ItemCompare);
|
||||
if(item.FindSetCursor(key))
|
||||
item.ScCursor(sc);
|
||||
clear.Enable(IsSearch());
|
||||
}
|
||||
|
||||
String CodeBrowser::GetCodeRef(int i) const
|
||||
|
|
@ -187,14 +189,11 @@ int SearchItemFilter(int c)
|
|||
|
||||
void CodeBrowser::Goto(const String& coderef)
|
||||
{
|
||||
search.Clear();
|
||||
if(IsNull(coderef))
|
||||
item.KillCursor();
|
||||
else
|
||||
if(coderef != GetCodeRef()) {
|
||||
if(!IsNull(search_item) || !IsNull(search_scope)) {
|
||||
search_scope <<= Null;
|
||||
search_item <<= Null;
|
||||
Load();
|
||||
LoadScope();
|
||||
}
|
||||
|
|
@ -247,6 +246,19 @@ bool CodeBrowser::Key(dword key, int count)
|
|||
return false;
|
||||
}
|
||||
|
||||
bool CodeBrowser::IsSearch() const
|
||||
{
|
||||
return !IsNull(search) || !IsNull(search_item) || !IsNull(search);
|
||||
}
|
||||
|
||||
void CodeBrowser::ClearSearch()
|
||||
{
|
||||
if(!IsSearch())
|
||||
return;
|
||||
search_scope <<= search_item <<= search <<= Null;
|
||||
Load();
|
||||
WhenClear();
|
||||
}
|
||||
|
||||
CodeBrowser::CodeBrowser()
|
||||
{
|
||||
|
|
@ -267,4 +279,8 @@ CodeBrowser::CodeBrowser()
|
|||
search.NullText("Find ");
|
||||
search.SetFilter(SearchItemFilter);
|
||||
search <<= THISBACK(Search);
|
||||
search.AddFrame(clear);
|
||||
clear.SetImage(BrowserImg::Clear());
|
||||
clear.NoWantFocus();
|
||||
clear <<= THISBACK(ClearSearch);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -173,7 +173,9 @@ void AssistEditor::IndexClick()
|
|||
|
||||
void AssistEditor::SyncCursor()
|
||||
{
|
||||
browser.search.NullText(String("Find (") + GetKeyDesc(IdeKeys::AK_SEARCHCODE().key[0]) + ") ");
|
||||
String k = GetKeyDesc(IdeKeys::AK_SEARCHCODE().key[0]) + ") ";
|
||||
browser.search.NullText(String("Find (") + k);
|
||||
browser.clear.Tip(String("Clear (") + k);
|
||||
if(navigator == NAV_INDEX) {
|
||||
if(!index.IsCursor())
|
||||
index.SetCursor(0);
|
||||
|
|
@ -268,6 +270,7 @@ void AssistEditor::Navigator(int nav)
|
|||
case NAV_BROWSER:
|
||||
indexpane.Hide();
|
||||
scope_item.Show();
|
||||
browser.ClearSearch();
|
||||
break;
|
||||
}
|
||||
if(navigator)
|
||||
|
|
@ -307,5 +310,8 @@ void Ide::SearchCode()
|
|||
{
|
||||
if(editor.navigator != AssistEditor::NAV_BROWSER)
|
||||
editor.Navigator(AssistEditor::NAV_BROWSER);
|
||||
editor.browser.search.SetFocus();
|
||||
if(editor.browser.IsSearch())
|
||||
editor.browser.ClearSearch();
|
||||
else
|
||||
editor.browser.search.SetFocus();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue