(!m_Widget->HasCapture() && needs_capture) {
68m_Widget->CaptureMouse();
71 if(m_Widget->GetCaret() !=
NULL)
72m_Widget->GetCaret()->Hide();
73m_Offset = wxGetMousePosition() - m_Dragee->GetPosition();
78 if(
m_Widget->HasCapture() && needs_capture) {
87 if(!wxGetMouseState().LeftIsDown() &&
m_Dragging) {
97wxRect
r=
m_Dragee->GetParent()->GetScreenRect();
101wxPoint new_pos = wxGetMousePosition() -
m_Offset;
110wxCommandEvent cmdevt(wxEVT_COMMAND_BUTTON_CLICKED,
eCmdMoveTip);
112 m_Dragee->GetParent()->GetEventHandler()->ProcessEvent(cmdevt);
139: wxStaticText(parent,
wxID_ANY,
wxT(
"CStaticTextHandle"),
140wxDefaultPosition, wxDefaultSize, wxNO_BORDER)
141, m_WidgetHandle(handle)
145SetBackgroundColour(wxColor(255,255,225));
146SetForegroundColour(wxColor(0, 0, 0));
154wxStaticText::SetLabel(
label);
155 #if defined(__WXOSX_CARBON__) || defined(__WXMAC_CARBON__) || defined(__WXOSX_COCOA__) 157wxClientDC aDC(
this);
158wxSize client_size = aDC.GetMultiLineTextExtent(
label);
159SetClientSize(client_size);
163 void OnMouseDown(wxMouseEvent& evt) { m_WidgetHandle->OnMouseDown(evt); }
164 void OnMouseUp(wxMouseEvent& evt) { m_WidgetHandle->OnMouseUp(evt); }
168m_WidgetHandle->OnMove(evt);
169 if(!m_WidgetHandle->IsDragging()) {
175 void OnSize(wxSizeEvent& evt) { Layout(); }
176 void OnKeyEvent( wxKeyEvent& evt ){ m_WidgetHandle->OnKeyEvent(evt); }
177 void OnContextMenu(wxContextMenuEvent& evt) {m_WidgetHandle->OnContextMenu(evt);}
182DECLARE_EVENT_TABLE()
207: wxRichTextCtrl(parent,
wxID_ANY, wxEmptyString,
208wxDefaultPosition, s,
209wxNO_BORDER|wxTE_MULTILINE|wxTE_READONLY)
210, m_WidgetHandle(handle)
211, m_SelectionEnabled(
true)
213SetEditable(
false);
214SetTextCursor(wxCURSOR_ARROW);
219SetBackgroundColour(wxColor(255,255,225));
220SetForegroundColour(wxColor(0, 0, 0));
229m_SelectionEnabled =
b;
231 if(m_SelectionEnabled) {
232SetTextCursor(wxCURSOR_IBEAM);
236SetTextCursor(wxCURSOR_ARROW);
245{wxRichTextCtrl::DoSetVirtualSize(1,1);}
249 if(m_SelectionEnabled) {
254 longpos = GetCaretPosition();
256wxPoint pt = ScreenToClient(wxGetMousePosition());
264 if(GetStyle(pos,attr)) {
272m_WidgetHandle->OnMouseDown(evt);
275 if(m_SelectionEnabled) {
280 if(m_WidgetHandle->IsDragging()) {
281m_WidgetHandle->OnMouseUp(evt);
290 if(m_SelectionEnabled) {
296m_WidgetHandle->OnMove(evt);
297 if(!m_WidgetHandle->IsDragging()) {
302 void OnKeyEvent( wxKeyEvent& evt ){ m_WidgetHandle->OnKeyEvent(evt); }
303 void OnContextMenu(wxContextMenuEvent& evt) {m_WidgetHandle->OnContextMenu(evt);}
306 void OnSize(wxSizeEvent& evt) { LayoutContent(); }
312DECLARE_EVENT_TABLE()
338: wxHtmlWindow(parent,
wxID_ANY, wxDefaultPosition, s,
339wxHW_SCROLLBAR_NEVER
)
340, m_WidgetHandle(handle)
341, m_SelectionEnabled(
true)
348m_SelectionEnabled =
b;
353{wxHtmlWindow::DoSetVirtualSize(1,1);}
357 if(m_SelectionEnabled) {
364m_WidgetHandle->OnMouseDown(evt,
false);
368 if(m_SelectionEnabled) {
373 if(m_WidgetHandle->IsDragging()) {
376m_WidgetHandle->OnMouseUp(evt,
false);
384 if(m_SelectionEnabled) {
389m_WidgetHandle->OnMove(evt);
392 void OnKeyEvent( wxKeyEvent& evt ){ m_WidgetHandle->OnKeyEvent(evt); }
393 void OnContextMenu(wxContextMenuEvent& evt) {m_WidgetHandle->OnContextMenu(evt);}
397wxContextMenuEvent cevt;
398evt.SetPosition(evt.GetPosition());
400m_WidgetHandle->OnContextMenu(cevt);
404 void OnSize(wxSizeEvent& evt) { Layout(); }
410DECLARE_EVENT_TABLE()
447, m_WidgetHandle(handle) {}
449 void OnMouseDown(wxMouseEvent& evt) { m_WidgetHandle->OnMouseDown(evt); }
450 void OnMouseUp(wxMouseEvent& evt) { m_WidgetHandle->OnMouseUp(evt); }
453m_WidgetHandle->OnMove(evt);
454 if(!m_WidgetHandle->IsDragging()) {
459 void OnSize(wxSizeEvent& evt) { Layout(); }
460 void OnKeyEvent( wxKeyEvent& evt ){ m_WidgetHandle->OnKeyEvent(evt); }
461 void OnContextMenu(wxContextMenuEvent& evt) {m_WidgetHandle->OnContextMenu(evt);}
466DECLARE_EVENT_TABLE()
501,
constwxString& title
505 #if defined(__WXOSX_CARBON__) || defined(__WXMAC_CARBON__) 506,WindowGroupRef win_grp_ref
509: wxFrame(parent,
wxID_ANY, title, pos, wxDefaultSize,
510#ifndef __WXOSX_COCOA__
511wxFRAME_TOOL_WINDOW|wxFRAME_NO_TASKBAR|wxBORDER_SIMPLE|wxFRAME_FLOAT_ON_PARENT,
515 wxT(
"Sticky Tooltip"))
518, m_PinButton(
NULL)
519, m_ElementActive(
false)
520, m_HighlightPanel(
NULL)
522, m_TextWidget(
NULL)
523, m_LaunchedBrowser(
false)
524, m_PopupDisplayed(
false)
525, m_LinkEventHandler(0)
527 #if defined(__WXOSX_CARBON__) || defined(__WXMAC_CARBON__) 528 #if( wxMAJOR_VERSION == 2 && wxMINOR_VERSION < 9 ) 529ReleaseWindowGroup( GetWindowGroup((WindowRef)m_macWindow) );
531ReleaseWindowGroup( GetWindowGroup(GetWXWindow()) );
535SetWindowGroup( (WindowRef) MacGetTopLevelWindowRef(), win_grp_ref);
540 static boolfirst_tip =
false;
541 if(first_tip ==
false) {
565m_HighlightPanel =
new CPanelHandle(
this, m_Handle, wxPoint(0,0), wxDefaultSize,
566#ifdef __WXOSX_COCOA__
572m_Handle->SetWindow(m_HighlightPanel);
576m_BackgroundColour.Set(240, 240, 188);
578p->SetBackgroundColour(m_BackgroundColour);
579m_HighlightPanel->SetBackgroundColour(m_BackgroundColour);
581wxBoxSizer* vbox =
newwxBoxSizer(wxVERTICAL);
582wxBoxSizer* hbox =
newwxBoxSizer(wxHORIZONTAL);
588 #if defined(NCBI_OS_LINUX) 589button_size = wxDefaultSize;
590 #elif defined(__WXOSX_COCOA__) 591button_size = wxDefaultSize;
593button_size = wxSize(17,17);
602 "pin_horizontal_pressed",
613 "search_img_pressed",
623 "mag_glass_pressed",
642 if(hbox->GetChildren().size() > 0 || m_TipInfo.GetTitleText() !=
"") {
649tip_title->SetBackgroundColour(wxColor(240, 240, 188));
650tip_title->SetForegroundColour(wxColor(0, 0, 0));
654hbox->Add(tip_title, 0);
656vbox->Add(hbox, 1, wxTOP|wxLEFT|wxRIGHT, 0);
658title_width = hbox->GetMinSize().GetWidth();
666 #ifdef RICH_TEXT_TOOLTIP 667x_CreateRichTextControl(p, title_width);
669x_CreateHtmlTextControl(p, title_width, 500);
675m_TextWidget->SetBackgroundColour(wxColor(255,255,225));
676m_TextWidget->SetForegroundColour(wxColor(0, 0, 0));
678m_TextWidget->SetSelectionEnabled(gui_reg.
GetBool(
"GBENCH.Application.ViewOptions.EnableTooltipSelection",
true));
683vbox->Add(m_TextWidget, 0, wxGROW|wxLEFT|wxTOP, 0);
687p->SetSizerAndFit(vbox);
689wxBoxSizer* frame_sizer =
newwxBoxSizer(wxHORIZONTAL);
690frame_sizer->Add(m_HighlightPanel, 1, wxALL|wxGROW, 0);
691frame_sizer->FitInside(
this);
693this->SetSizerAndFit(frame_sizer);
696SetMinSize(wxSize(2, 2));
698m_TargetSize = GetSize() + wxSize(2, 2);
702 intdisplay_idx = wxDisplay::GetFromPoint(pos);
703 if(display_idx == wxNOT_FOUND)
704display_idx = wxDisplay::GetFromWindow(parent);
706 if(display_idx == wxNOT_FOUND)
709wxDisplay display(display_idx);
710wxRect geometry = display.GetGeometry();
711 intright = (pos.x > geometry.width) ? geometry.GetRight() : geometry.width - 1;
712 if((right - pos.x) < m_TargetSize.GetX()) {
713 int offset= m_TargetSize.GetX() - (right - pos.x);
714wxPoint newPos(pos.x -
offset, pos.y);
730this->SetClientData(
this);
741 #ifdef __WXOSX_COCOA__ 743wxWindow* pp = GetParent();
745 f=
dynamic_cast<wxFrame*
>(pp);
746pp = pp->GetParent();
758 #ifdef __WXOSX_COCOA__ 760wxWindow* pp = GetParent();
762 f=
dynamic_cast<wxFrame*
>(pp);
763pp = pp->GetParent();
782 returnwxFrame::Show(show);
787 m_Pos= this->GetScreenPosition() - this->GetParent()->GetScreenPosition();
798 if(!GetParent()->IsShownOnScreen() && !about_to_show)
803wxRect pr = GetParent()->GetScreenRect();
808 intavailable_width = pr.x + pr.width -
r.x;
810new_width = available_width;
814 intavailable_height = pr.y + pr.height -
r.y;
816new_height = available_height;
820 if(new_width !=
r.width ||
821new_height !=
r.height) {
822 if((new_width < 8 || new_height < 8) && IsShown()) {
825 else if(new_width > 10 && new_height > 10 && !IsShown()) {
834SetSize(wxSize(new_width, new_height));
877::wxLaunchDefaultBrowser(evt.GetString());
882wxString href(evt.GetLinkInfo().GetHref());
886::wxLaunchDefaultBrowser(href);
899unique_ptr<wxMenu> menu(cmd_reg.
CreateMenu(sPopupMenu));
900PopupMenu(menu.get());
907 if( wxTheClipboard->Open() )
910wxTheClipboard->Close();
919gui_reg.
Set(
"GBENCH.Application.ViewOptions.EnableTooltipSelection", select_enabled);
930 #ifdef RICH_TEXT_TOOLTIP 932evt.Enable(
m_TextWidget->GetStringSelection().length() > 0);
935evt.Enable(
m_TextWidget->SelectionToText().length() > 0);
941 if( wxTheClipboard->Open() )
943 #ifdef RICH_TEXT_TOOLTIP 950wxString::iterator iter;
955 for(iter =
str.begin(); iter !=
str.end(); ++iter) {
956 if(*iter == wxRichTextLineBreakChar) {
962wxTheClipboard->SetData(
newwxTextDataObject(
str));
963wxTheClipboard->Close();
977wxCommandEvent cmdevt(wxEVT_COMMAND_BUTTON_CLICKED,
eCmdReleaseTip);
978cmdevt.SetEventObject(
this);
979GetParent()->GetEventHandler()->ProcessEvent(cmdevt);
987GetParent()->GetEventHandler()->ProcessEvent(event);
997 m_PinButton->SetBitmapLabel(provider->GetBitmap(
wxT(
"pin_horizontal")));
998 m_PinButton->SetBitmapSelected(provider->GetBitmap(
wxT(
"pin_horizontal_pressed")));
1001 m_PinButton->SetBitmapLabel(provider->GetBitmap(
wxT(
"pin_vertical")));
1002 m_PinButton->SetBitmapSelected(provider->GetBitmap(
wxT(
"pin_vertical_pressed")));
1015wxSize text_extent(title_width, 0);
1016wxFont font(font_size, wxFONTFAMILY_ROMAN, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL);
1030wxRichTextCtrl* text0 =
newwxRichTextCtrl(p,
wxID_ANY, wxEmptyString,
1033text0->SetFont(font);
1034text0->BeginAlignment(wxTEXT_ALIGNMENT_LEFT);
1035text0->BeginFontSize(font_size);
1036text0->BeginLineSpacing(wxTEXT_ATTR_LINE_SPACING_NORMAL);
1037text0->BeginParagraphSpacing(0, 0);
1040 for(
i=0;
i<truncated_lines.size(); ++
i) {
1053wxWindowDC dc(
this);
1054wxSize pixperinch = dc.GetPPI();
1055 intpixel_margin_x = (
int)(2.0f*((
float)pixperinch.x)*(1.0f/72.0f)*
1056(
float)wxRICHTEXT_DEFAULT_MARGIN);
1057 intpixel_margin_y = (
int)(2.0f*((
float)pixperinch.y)*(1.0f/72.0f)*
1058(float)wxRICHTEXT_DEFAULT_MARGIN);
1060 intcocoa_delta = 0;
1061 #ifdef __WXOSX_COCOA__ 1063cocoa_delta += font_size/2;
1070wxSize(text_extent.GetWidth() + pixel_margin_x + 2,
1071text_extent.GetHeight() + pixel_margin_y + cocoa_delta));
1072 text->SetFont(font);
1073 text->BeginAlignment(wxTEXT_ALIGNMENT_LEFT);
1074 text->BeginFontSize(font_size);
1075 text->BeginLineSpacing(wxTEXT_ATTR_LINE_SPACING_NORMAL);
1076 text->BeginParagraphSpacing(0, 0);
1078 for(
i=0;
i<truncated_lines.size(); ++
i) {
1082 #ifdef RICH_TEXT_TOOLTIP 1091wxSize text_extent(title_width, 0);
1092wxFont font(font_size, wxFONTFAMILY_ROMAN, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL);
1098 boolis_html =
false;
1108std::vector<string> truncated_lines;
1116wxWindowDC dc(
this);
1117wxSize pixperinch = dc.GetPPI();
1118 intpixel_margin_x = (
int)(2.0f*((
float)pixperinch.x)*(1.0f/72.0f)*
1119(
float)wxRICHTEXT_DEFAULT_MARGIN);
1120 intpixel_margin_y = (
int)(2.0f*((
float)pixperinch.y)*(1.0f/72.0f)*
1121(float)wxRICHTEXT_DEFAULT_MARGIN);
1129html_text =
"<html><body><p>";
1132 for(
i=0;
i<truncated_lines.size(); ++
i) {
1133html_text += truncated_lines[
i];
1134 if(
i<truncated_lines.size()-1)
1135html_text +=
"<BR>";
1138html_text +=
"</p></body></html>";
1141html_text = tip_text;
1152text2->SetStandardFonts(font_size,
_(
"Times New Roman"), wxEmptyString);
1153text2->SetBorders(0);
1154text2->SetPage(html_text);
1164wxHtmlContainerCell* cell = text2->GetInternalRepresentation();
1165 intw1 = cell->GetMaxTotalWidth();
1169 if(w1 == 0) w1 = cell->GetWidth();
1176wxSize(w1 + pixel_margin_x, wxDefaultSize.GetHeight() ));
1177 text->SetStandardFonts(font_size,
_(
"Times New Roman"), wxEmptyString);
1178 text->SetBorders(0);
1179 text->SetPage(html_text);
1184 inth2 =
text->GetInternalRepresentation()->GetHeight();
1185 text->SetSizeHints(w1 + pixel_margin_x,
1186h2 + pixel_margin_y);
1198wxSize text_extent(title_width, 0);
1199wxFont font(font_size, wxFONTFAMILY_ROMAN, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL);
1203wxWindowDC dc(
this);
1204wxSize pixperinch = dc.GetPPI();
1205 intpixel_margin_x = (
int)(2.0f*((
float)pixperinch.x)*(1.0f/72.0f)*
1206(
float)wxRICHTEXT_DEFAULT_MARGIN);
1207 intpixel_margin_y = (
int)(2.0f*((
float)pixperinch.y)*(1.0f/72.0f)*
1208(float)wxRICHTEXT_DEFAULT_MARGIN);
1211html_text =
"<table margin=\"0\" padding=\"0\" border=\"0\"><tr margin=\"0\" padding=\"0\" border=\"5\"><td valign=\"top\" align=\"right\" cellpadding=\"0\" nowrap=\"nowrap\"><span style=\"font-weight:bold; font-size:12pt\">Variation ID:</span></td><td valign=\"top\"><span style=\"font-weight:bold; font-size:12pt\">rs192879263</span></td></tr><tr margin=\"0\" padding=\"0\" border=\"5\"><td valign=\"top\" align=\"right\" cellpadding=\"0\" nowrap=\"nowrap\"><span style=\"font-weight:bold; font-size:12pt\">Variant Type:</span></td><td valign=\"top\"><span style=\"font-weight:bold; font-size:12pt\">SNP</span></td></tr><tr margin=\"0\" padding=\"0\" border=\"5\"><td valign=\"top\" align=\"right\" cellpadding=\"0\" nowrap=\"nowrap\"><span style=\"font-weight:bold; font-size:12pt\">Alleles:</span></td><td valign=\"top\"><span style=\"font-weight:bold; font-size:12pt\">A/G</span></td></tr></table> \ 1212 <p>total length: 1 \ 1213 <br>Position: 83,657,295<br> \ 1217 <a href=\"https://www.ncbi.nlm.nih.gov/snp/rs192879263\">SNP summary for rs192879263</a> \ 1225text2->SetStandardFonts(font_size,
_(
"Times New Roman"), wxEmptyString);
1226text2->SetBorders(0);
1227text2->SetPage(html_text);
1236 intw1 = text2->GetInternalRepresentation()->GetMaxTotalWidth();
1241wxSize(w1 + pixel_margin_x, wxDefaultSize.GetHeight() ));
1242 text->SetStandardFonts(font_size,
_(
"Times New Roman"), wxEmptyString);
1243 text->SetBorders(0);
1244 text->SetPage(html_text);
1249 inth2 =
text->GetInternalRepresentation()->GetHeight();
1250 text->SetSizeHints(w1 + pixel_margin_x,
1251h2 + pixel_margin_y);
1264 const char* img_name,
1265 const char* img_pressed_name,
1269wxBitmapButton*
b=
newwxBitmapButton(p,
1274wxBU_EXACTFIT|wxBORDER_NONE);
1276 #ifndef __WXOSX_COCOA__ 1277 b->SetBitmapSelected(provider->GetBitmap(
ToWxString(img_pressed_name)));
1279 b->SetClientData(
this);
1280 b->SetBackgroundColour(wxColour(255, 255, 225));
1285std::vector<std::string>
1290std::vector<string> lines;
1291std::vector<string> truncated_lines;
1293 if(lines.size() > 0 &&
1294lines[lines.size()-1] ==
"")
1295lines.erase(lines.begin() + lines.size()-1);
1297 for(
size_t l=0;
l<lines.size(); ++
l) {
1298 if(lines[
l].length() <= (
size_t)max_line_len) {
1299truncated_lines.push_back(lines[
l]);
1308string::size_type break_idx = max_line_len;
1309 intbreak_priority = -1;
1310string::size_type
b= 70;
1311string::size_type b_end = max_line_len;
1314 while(remainder.length() > (
size_t)max_line_len) {
1320string::size_type url_start_idx = remainder.find(
"<a href=\"", 0);
1326 if(url_start_idx != string::npos && url_start_idx < (
size_t)max_line_len) {
1329string::size_type url_stop_idx = remainder.find(
"</a>",
1331string::size_type text_start_idx = remainder.find(
"\">",
1335 if(url_stop_idx != std::string::npos &&
1336text_start_idx != std::string::npos) {
1338text_start_idx += 2;
1340string::size_type text_stop_idx = url_stop_idx -1;
1342string::size_type url_text_len = text_stop_idx -
1345string::size_type text_after_url = remainder.length() -
1360 if(url_text_len >= (
size_t)max_line_len) {
1361truncated_lines.push_back(remainder.substr(0, url_start_idx));
1362truncated_lines.push_back(remainder.substr(url_start_idx,
1363url_stop_idx - url_start_idx + 1));
1364remainder = remainder.substr(url_stop_idx+1, string::npos);
1369 else if(url_start_idx + url_text_len > (
size_t)max_line_len) {
1370truncated_lines.push_back(remainder.substr(0, url_start_idx));
1371remainder = remainder.substr(url_start_idx, string::npos);
1376 else if(url_start_idx + url_text_len + text_after_url <= (
size_t)max_line_len) {
1377truncated_lines.push_back(remainder);
1388b_end =
std::max(url_stop_idx + 10,
1389url_stop_idx + max_line_len - (url_text_len + url_start_idx));
1400 for(;
b<b_end; ++
b) {
1401 if(remainder[
b] ==
';') {
1405 else if(remainder[
b] ==
' '&&
1406break_priority <= 5) {
1410 else if(remainder[
b] ==
':'&&
1411break_priority <= 4) {
1415 else if(remainder[
b] ==
'-'&&
1416break_priority <= 3) {
1420 else if(remainder[
b] ==
'.'&&
1421break_priority <= 2) {
1425 else if(break_priority <= 1) {
1433string::size_type start_idx = remainder.find_first_not_of(
' ');
1434 if(start_idx != std::string::npos &&
1435start_idx < break_idx)
1436truncated_lines.push_back(remainder.substr(start_idx, break_idx+1));
1437remainder = remainder.substr(break_idx+1, string::npos);
1440 if(remainder.length() > 0)
1441truncated_lines.push_back(remainder);
1445 returntruncated_lines;
1451wxSize& text_extent)
1453wxString line_break = (wxChar) 29;
1455wxRichTextAttr urlStyle;
1456urlStyle.SetTextColour(*wxBLUE);
1457urlStyle.SetFontUnderlined(
true);
1466std::string::size_type idx1 = 0;
1467std::string::size_type idx2 = 0;
1468std::string::size_type idx3 = 0;
1470idx1 = remainder.find(
"<a href=\"", 0);
1473 while(idx1 != std::string::npos) {
1476ctrl->WriteText(
ToWxString(remainder.substr(0, idx1)));
1480idx2 = remainder.find(
"\">", idx1);
1481 if(idx2 != std::string::npos) {
1482 size_turl_len = (idx2-1)-(idx1+8);
1483 std::stringurl = remainder.substr(idx1+9, url_len);
1486idx3 = remainder.find(
"</a>", idx2);
1487 if(idx3 != std::string::npos) {
1488 size_tdescription_len = idx3 - (idx2+2);
1489 std::stringurl_text = remainder.substr(idx2+2, description_len);
1491ctrl->BeginStyle(urlStyle);
1498remainder = remainder.substr(idx3+4, remainder.size()-(idx3+4));
1502 _TRACE(
"Invalid format: "<<
l.c_str());
1508 _TRACE(
"Invalid format: "<<
l.c_str());
1514idx1 = remainder.find(
"<a href=\"", 0);
1518 if(remainder !=
"")
1522ctrl->WriteText(line_break);
1526rl = ctrl->GetBuffer().GetLineAtPosition(ctrl->GetLastPosition());
1528text_extent.SetWidth(
std::max(text_extent.GetWidth(), rl->GetSize().GetWidth()));
1529text_extent.SetHeight(
std::max(text_extent.GetHeight(),
1530rl->GetPosition().y + rl->GetSize().GetHeight()));
static CGuiRegistry & GetInstance()
access the application-wide singleton
void Set(const string &key, int val)
set specific values
bool GetBool(const string &key, bool default_val=false) const
Rich Text helper class that allows mouse click and motion events to grab the control's parent object ...
bool GetSelectionEnabled() const
virtual void DoSetVirtualSize(int x, int y)
void OnMove(wxMouseEvent &evt)
virtual wxSize DoGetVirtualSize() const
void OnMouseDown(wxMouseEvent &evt)
CHtmlWindowtHandle(wxPanel *parent, CWidgetHandle *handle, wxSize s)
void OnContextMenu(wxContextMenuEvent &evt)
void OnKeyEvent(wxKeyEvent &evt)
void OnSize(wxSizeEvent &evt)
Need this (call Layout()) in derived classes to work with Sizers.
void SetSelectionEnabled(bool b)
void OnMouseUp(wxMouseEvent &evt)
void OnRightUp(wxMouseEvent &evt)
CWidgetHandle * m_WidgetHandle
Panel helper class that allows mouse click and motion events to grab the control's parent class and m...
CPanelHandle(wxWindow *parent, CWidgetHandle *handle, const wxPoint &pos, const wxSize &size, int style=0)
CWidgetHandle * m_WidgetHandle
void OnMove(wxMouseEvent &evt)
void OnContextMenu(wxContextMenuEvent &evt)
void OnMouseUp(wxMouseEvent &evt)
void OnSize(wxSizeEvent &evt)
Need this (call Layout()) in derived classes to work with Sizers.
void OnMouseDown(wxMouseEvent &evt)
void OnKeyEvent(wxKeyEvent &evt)
Rich Text helper class that allows mouse click and motion events to grab the control's parent object ...
void SetSelectionEnabled(bool b)
void OnMouseDown(wxMouseEvent &evt)
CWidgetHandle * m_WidgetHandle
void OnMouseUp(wxMouseEvent &evt)
void OnMove(wxMouseEvent &evt)
bool GetSelectionEnabled() const
void OnContextMenu(wxContextMenuEvent &evt)
virtual void DoSetVirtualSize(int x, int y)
CRichTextHandle(wxPanel *parent, CWidgetHandle *handle, wxSize s)
void OnKeyEvent(wxKeyEvent &evt)
void OnSize(wxSizeEvent &evt)
Need this (call Layout()) in derived classes to work with Sizers.
virtual wxSize DoGetVirtualSize() const
Static text helper class that allows mouse click and motion events to grab the control's parent objec...
CWidgetHandle * m_WidgetHandle
void OnSize(wxSizeEvent &evt)
Need this (call Layout()) in derived classes to work with Sizers.
void OnMouseDown(wxMouseEvent &evt)
CStaticTextHandle(wxPanel *parent, CWidgetHandle *handle)
void OnMove(wxMouseEvent &evt)
void OnContextMenu(wxContextMenuEvent &evt)
void OnKeyEvent(wxKeyEvent &evt)
void OnMouseUp(wxMouseEvent &evt)
void SetLabel(const wxString &label)
CUICommandRegistry is a centralized registry where all application commands should be registered.
static CUICommandRegistry & GetInstance()
the main instance associated with the application
wxMenu * CreateMenu(const SwxMenuItemRec *items)
create a menu from a static definition (see WX_*_MENU macros)
virtual bool OnLinkClicked(const wxString &href)=0
Invoked when an URL is clicked.
virtual void RegisterFileAlias(const wxArtID &anId, const wxArtClient &aClient, const wxSize &aSize, const wxString &aName, long aType=wxBITMAP_TYPE_ANY, int anIndex=-1)
static const char * str(char *buf, int n)
EStickyToolTipCommands
Commands needed to mange sticky tool tip windows.
@ eCmdReleaseTip
User clicked somewhere on a tip.
@ eCmdCopySelectedTipText
User selected option to make text selectable.
@ eCmdMoveTip
Left mouse (or equiv) up inside tip area.
@ eCmdCopyTipText
Mouse left a tip (remove glyph highlight)
@ eCmdZoomTip
search (scroll) window to tip element
@ eCmdSelectTipText
User selected option to copy (all) tip text.
@ eCmdSearchTip
tool tip pinned or unpinned
@ eCmdInfoTip
zoom into tip element
@ eCmdPinTip
tool tip parent window hidden
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)
Split a string using specified delimiters.
static SIZE_TYPE Find(const CTempString str, const CTempString pattern, ECase use_case=eCase, EDirection direction=eForwardSearch, SIZE_TYPE occurrence=0)
Find the pattern in the string.
@ eNocase
Case insensitive compare.
#define NCBI_GUIWIDGETS_WX_EXPORT
static const char label[]
unsigned int
A callback function used to compare two keys in a database.
static void text(MDB_val *v)
const struct ncbi::grid::netcache::search::fields::SIZE size
NCBI C++ auxiliary debug macros.
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
ViewerWindowBase::OnEditMenu ViewerWindowBase::OnJustification EVT_MENU(MID_SHOW_GEOM_VLTNS, ViewerWindowBase::OnShowGeomVltns) EVT_MENU(MID_FIND_PATTERN
static SLJIT_INLINE sljit_ins l(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
#define WX_DEFINE_MENU(name)
New macros for defining menus for use with CUICommandRegistry.
#define WX_MENU_ITEM(cmd)
#define WX_MENU_SEPARATOR()
wxFileArtProvider * GetDefaultFileArtProvider()
void RemoveChildWindow(wxFrame *parent, wxWindow *child)
For OSX Cocoa, removes child window connection (for layering) to parent.
wxString ToWxString(const string &s)
wxRect GetScreenRect(const wxWindow &win)
void AddChildWindowAbove(wxFrame *parent, wxWindow *child)
For OSX Cocoa, puts child window in front of (visually) parent.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4