Fixed issue with Gtk SyncFocus

git-svn-id: svn://ultimatepp.org/upp/trunk@6748 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2014-01-10 20:21:32 +00:00
parent 45393edc06
commit 70c8752f58
4 changed files with 67 additions and 64 deletions

View file

@ -972,7 +972,8 @@ String Ctrl::Name0() const {
String path;
while(q) {
String id = q->GetLayoutId();
path = "." + Nvl(id, "?") + path;
if(id.GetCount())
path = '.' + q->GetLayoutId() + path;
q = q->parent;
}
s << ' ' << path;

View file

@ -2,7 +2,7 @@
NAMESPACE_UPP
#define LLOG(x) // DLOG(x)
#define LLOG(x) DLOG(x)
Ptr<Ctrl> Ctrl::focusCtrl;
Ptr<Ctrl> Ctrl::focusCtrlWnd;
@ -121,12 +121,14 @@ bool Ctrl::HotKey(dword key)
if(!IsEnabled() || !IsVisible()) return false;
for(Ptr<Ctrl> ctrl = firstchild; ctrl; ctrl = ctrl->next)
{
LLOG("Trying HotKey " << GetKeyDesc(key) << " at " << Name(ctrl));
if(ctrl->IsOpen() && ctrl->IsVisible() && ctrl->IsEnabled() && ctrl->HotKey(key))
{
if(Ini::user_log && s_hotkey) {
USRLOG(" HOT-> " << UPP::Name(ctrl));
s_hotkey = false;
}
LLOG("ACCEPTED");
return true;
}
}

View file

@ -335,7 +335,7 @@ void Ctrl::FocusSync()
if(focusCtrlWnd && gtk_window_is_active(focusCtrlWnd->gtk()))
return;
Ptr<Ctrl> focus = NULL;
static Ctrl *ctrl;
static Ptr<Ctrl> ctrl;
for(int i = 0; i < wins.GetCount(); i++)
if(gtk_window_is_active((GtkWindow *)wins[i].gtk)) {
focus = wins[i].ctrl;

View file

@ -1,61 +1,61 @@
LAYOUT(Gdb_MI2RegistersLayout, 224, 88)
ITEM(Label, dv___0, SetLabel(t_("EAX")).LeftPosZ(4, 26).TopPosZ(4, 19))
ITEM(Label, rax, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(33, 72).TopPosZ(4, 19))
ITEM(Label, dv___2, SetLabel(t_("EBX")).LeftPosZ(4, 26).TopPosZ(24, 19))
ITEM(Label, rbx, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(33, 72).TopPosZ(24, 19))
ITEM(Label, dv___4, SetLabel(t_("ECX")).LeftPosZ(4, 26).TopPosZ(44, 19))
ITEM(Label, rcx, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(33, 72).TopPosZ(44, 19))
ITEM(Label, dv___6, SetLabel(t_("EDX")).LeftPosZ(4, 26).TopPosZ(64, 19))
ITEM(Label, rdx, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(33, 72).TopPosZ(64, 19))
ITEM(Label, dv___8, SetLabel(t_("ESI")).LeftPosZ(120, 26).TopPosZ(4, 19))
ITEM(Label, rsi, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(148, 72).TopPosZ(4, 19))
ITEM(Label, dv___10, SetLabel(t_("EDI")).LeftPosZ(120, 26).TopPosZ(24, 19))
ITEM(Label, rdi, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(148, 72).TopPosZ(24, 19))
ITEM(Label, dv___12, SetLabel(t_("EBP")).LeftPosZ(120, 26).TopPosZ(44, 19))
ITEM(Label, rbp, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(148, 72).TopPosZ(44, 19))
ITEM(Label, dv___14, SetLabel(t_("ESP")).LeftPosZ(120, 26).TopPosZ(64, 19))
ITEM(Label, rsp, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(148, 72).TopPosZ(64, 19))
END_LAYOUT
LAYOUT(Gdb_MI2Registers64Layout, 220, 132)
ITEM(Label, dv___0, SetLabel(t_("RAX")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(4, 13))
ITEM(Label, rax, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 80).TopPosZ(4, 13))
ITEM(Label, dv___2, SetLabel(t_("RBX")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(20, 13))
ITEM(Label, rbx, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 80).TopPosZ(20, 13))
ITEM(Label, dv___4, SetLabel(t_("RCX")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(36, 13))
ITEM(Label, rcx, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 80).TopPosZ(36, 13))
ITEM(Label, dv___6, SetLabel(t_("RDX")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(52, 13))
ITEM(Label, rdx, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 80).TopPosZ(52, 13))
ITEM(Label, dv___8, SetLabel(t_("RSI")).SetFont(StdFontZ(8)).LeftPosZ(112, 20).TopPosZ(4, 13))
ITEM(Label, rsi, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(136, 80).TopPosZ(4, 13))
ITEM(Label, dv___10, SetLabel(t_("RDI")).SetFont(StdFontZ(8)).LeftPosZ(112, 20).TopPosZ(20, 13))
ITEM(Label, rdi, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(136, 80).TopPosZ(20, 13))
ITEM(Label, dv___12, SetLabel(t_("RBP")).SetFont(StdFontZ(8)).LeftPosZ(112, 20).TopPosZ(36, 13))
ITEM(Label, rbp, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(136, 80).TopPosZ(36, 13))
ITEM(Label, dv___14, SetLabel(t_("RSP")).SetFont(StdFontZ(8)).LeftPosZ(112, 20).TopPosZ(52, 13))
ITEM(Label, rsp, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(136, 80).TopPosZ(52, 13))
ITEM(Label, dv___16, SetLabel(t_("R8")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(68, 13))
ITEM(Label, r8, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 80).TopPosZ(68, 13))
ITEM(Label, dv___18, SetLabel(t_("R9")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(84, 13))
ITEM(Label, r9, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 80).TopPosZ(84, 13))
ITEM(Label, dv___20, SetLabel(t_("R10")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(100, 13))
ITEM(Label, r10, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 80).TopPosZ(100, 13))
ITEM(Label, dv___22, SetLabel(t_("R11")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(116, 13))
ITEM(Label, r11, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 80).TopPosZ(116, 13))
ITEM(Label, dv___24, SetLabel(t_("R12")).SetFont(StdFontZ(8)).LeftPosZ(112, 20).TopPosZ(68, 13))
ITEM(Label, r12, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(136, 80).TopPosZ(68, 13))
ITEM(Label, dv___26, SetLabel(t_("R13")).SetFont(StdFontZ(8)).LeftPosZ(112, 20).TopPosZ(84, 13))
ITEM(Label, r13, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(136, 80).TopPosZ(84, 13))
ITEM(Label, dv___28, SetLabel(t_("R14")).SetFont(StdFontZ(8)).LeftPosZ(112, 20).TopPosZ(100, 13))
ITEM(Label, r14, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(136, 80).TopPosZ(100, 13))
ITEM(Label, dv___30, SetLabel(t_("R15")).SetFont(StdFontZ(8)).LeftPosZ(112, 20).TopPosZ(116, 13))
ITEM(Label, r15, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(136, 80).TopPosZ(116, 13))
END_LAYOUT
LAYOUT(Gdb_MI2QuickwatchLayout, 400, 224)
ITEM(WithDropChoice<EditString>, expression, HSizePosZ(4, 72).TopPosZ(4, 19))
ITEM(Button, evaluate, SetLabel(t_("Evaluate")).RightPosZ(4, 64).TopPosZ(4, 20))
ITEM(WatchEdit, value, HSizePosZ(4, 4).VSizePosZ(28, 28))
ITEM(Button, close, SetLabel(t_("Close")).RightPosZ(4, 64).BottomPosZ(4, 20))
END_LAYOUT
LAYOUT(Gdb_MI2RegistersLayout, 224, 88)
ITEM(Label, dv___0, SetLabel(t_("EAX")).LeftPosZ(4, 26).TopPosZ(4, 19))
ITEM(Label, rax, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(33, 72).TopPosZ(4, 19))
ITEM(Label, dv___2, SetLabel(t_("EBX")).LeftPosZ(4, 26).TopPosZ(24, 19))
ITEM(Label, rbx, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(33, 72).TopPosZ(24, 19))
ITEM(Label, dv___4, SetLabel(t_("ECX")).LeftPosZ(4, 26).TopPosZ(44, 19))
ITEM(Label, rcx, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(33, 72).TopPosZ(44, 19))
ITEM(Label, dv___6, SetLabel(t_("EDX")).LeftPosZ(4, 26).TopPosZ(64, 19))
ITEM(Label, rdx, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(33, 72).TopPosZ(64, 19))
ITEM(Label, dv___8, SetLabel(t_("ESI")).LeftPosZ(120, 26).TopPosZ(4, 19))
ITEM(Label, rsi, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(148, 72).TopPosZ(4, 19))
ITEM(Label, dv___10, SetLabel(t_("EDI")).LeftPosZ(120, 26).TopPosZ(24, 19))
ITEM(Label, rdi, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(148, 72).TopPosZ(24, 19))
ITEM(Label, dv___12, SetLabel(t_("EBP")).LeftPosZ(120, 26).TopPosZ(44, 19))
ITEM(Label, rbp, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(148, 72).TopPosZ(44, 19))
ITEM(Label, dv___14, SetLabel(t_("ESP")).LeftPosZ(120, 26).TopPosZ(64, 19))
ITEM(Label, rsp, SetLabel(t_("00000000")).SetFont(MonospaceZ(11)).LeftPosZ(148, 72).TopPosZ(64, 19))
END_LAYOUT
LAYOUT(Gdb_MI2Registers64Layout, 252, 132)
ITEM(Label, dv___0, SetLabel(t_("RAX")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(4, 13))
ITEM(Label, rax, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 96).TopPosZ(4, 13))
ITEM(Label, dv___2, SetLabel(t_("RBX")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(20, 13))
ITEM(Label, rbx, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 96).TopPosZ(20, 13))
ITEM(Label, dv___4, SetLabel(t_("RCX")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(36, 13))
ITEM(Label, rcx, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 96).TopPosZ(36, 13))
ITEM(Label, dv___6, SetLabel(t_("RDX")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(52, 13))
ITEM(Label, rdx, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 96).TopPosZ(52, 13))
ITEM(Label, dv___8, SetLabel(t_("RSI")).SetFont(StdFontZ(8)).LeftPosZ(128, 20).TopPosZ(4, 13))
ITEM(Label, rsi, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(152, 96).TopPosZ(4, 13))
ITEM(Label, dv___10, SetLabel(t_("RDI")).SetFont(StdFontZ(8)).LeftPosZ(128, 20).TopPosZ(20, 13))
ITEM(Label, rdi, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(152, 96).TopPosZ(20, 13))
ITEM(Label, dv___12, SetLabel(t_("RBP")).SetFont(StdFontZ(8)).LeftPosZ(128, 20).TopPosZ(36, 13))
ITEM(Label, rbp, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(152, 96).TopPosZ(36, 13))
ITEM(Label, dv___14, SetLabel(t_("RSP")).SetFont(StdFontZ(8)).LeftPosZ(128, 20).TopPosZ(52, 13))
ITEM(Label, rsp, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(152, 96).TopPosZ(52, 13))
ITEM(Label, dv___16, SetLabel(t_("R8")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(68, 13))
ITEM(Label, r8, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 96).TopPosZ(68, 13))
ITEM(Label, dv___18, SetLabel(t_("R9")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(84, 13))
ITEM(Label, r9, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 96).TopPosZ(84, 13))
ITEM(Label, dv___20, SetLabel(t_("R10")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(100, 13))
ITEM(Label, r10, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 96).TopPosZ(100, 13))
ITEM(Label, dv___22, SetLabel(t_("R11")).SetFont(StdFontZ(8)).LeftPosZ(4, 20).TopPosZ(116, 13))
ITEM(Label, r11, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(28, 96).TopPosZ(116, 13))
ITEM(Label, dv___24, SetLabel(t_("R12")).SetFont(StdFontZ(8)).LeftPosZ(128, 20).TopPosZ(68, 13))
ITEM(Label, r12, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(152, 96).TopPosZ(68, 13))
ITEM(Label, dv___26, SetLabel(t_("R13")).SetFont(StdFontZ(8)).LeftPosZ(128, 20).TopPosZ(84, 13))
ITEM(Label, r13, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(152, 96).TopPosZ(84, 13))
ITEM(Label, dv___28, SetLabel(t_("R14")).SetFont(StdFontZ(8)).LeftPosZ(128, 20).TopPosZ(100, 13))
ITEM(Label, r14, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(152, 96).TopPosZ(100, 13))
ITEM(Label, dv___30, SetLabel(t_("R15")).SetFont(StdFontZ(8)).LeftPosZ(128, 20).TopPosZ(116, 13))
ITEM(Label, r15, SetLabel(t_("0000000000000000")).SetFont(MonospaceZ(8)).LeftPosZ(152, 96).TopPosZ(116, 13))
END_LAYOUT
LAYOUT(Gdb_MI2QuickwatchLayout, 400, 224)
ITEM(WithDropChoice<EditString>, expression, HSizePosZ(4, 72).TopPosZ(4, 19))
ITEM(Button, evaluate, SetLabel(t_("Evaluate")).RightPosZ(4, 64).TopPosZ(4, 20))
ITEM(WatchEdit, value, HSizePosZ(4, 4).VSizePosZ(28, 28))
ITEM(Button, close, SetLabel(t_("Close")).RightPosZ(4, 64).BottomPosZ(4, 20))
END_LAYOUT