internal void SetSearchPattern() { string selectedText = SourceEditorWidget.FormatPatternToSelectionOption(textEditor.SelectedText); if (!String.IsNullOrEmpty(selectedText)) { SetSearchPattern(selectedText); SearchAndReplaceOptions.SearchPattern = selectedText; SearchAndReplaceWidget.UpdateSearchHistory(selectedText); textEditor.TextViewMargin.MainSearchResult = textEditor.SelectionRange; } }
void ShowSearchReplaceWidget (bool replace) { if (searchAndReplaceWidget == null) { KillWidgets (); searchAndReplaceWidgetFrame = new RoundedFrame (); //searchAndReplaceWidgetFrame.SetFillColor (MonoDevelop.Components.CairoExtensions.GdkColorToCairoColor (widget.TextEditor.ColorStyle.Default.BackgroundColor)); searchAndReplaceWidgetFrame.SetFillColor (CairoExtensions.GdkColorToCairoColor (vbox.Style.Background (StateType.Normal))); searchAndReplaceWidgetFrame.Child = searchAndReplaceWidget = new SearchAndReplaceWidget (TextEditor, searchAndReplaceWidgetFrame); searchAndReplaceWidget.Destroyed += (sender, e) => RemoveSearchWidget (); searchAndReplaceWidgetFrame.ShowAll (); this.TextEditor.AddAnimatedWidget (searchAndReplaceWidgetFrame, 300, Mono.TextEditor.Theatrics.Easing.ExponentialInOut, Blocking.Downstage, TextEditor.Allocation.Width - 400, -searchAndReplaceWidget.Allocation.Height); // this.PackEnd (searchAndReplaceWidget); // this.SetChildPacking (searchAndReplaceWidget, false, false, CHILD_PADDING, PackType.End); // searchAndReplaceWidget.ShowAll (); if (this.splittedTextEditor != null) { this.splittedTextEditor.HighlightSearchPattern = true; this.splittedTextEditor.TextViewMargin.RefreshSearchMarker (); } ResetFocusChain (); } else { if (TextEditor.IsSomethingSelected) { searchAndReplaceWidget.SetSearchPattern (); } } searchAndReplaceWidget.UpdateSearchPattern (); searchAndReplaceWidget.IsReplaceMode = replace; if (searchAndReplaceWidget.SearchFocused) { if (replace) { searchAndReplaceWidget.Replace (); } else { this.FindNext (); } } searchAndReplaceWidget.Focus (); }
bool KillWidgets () { bool result = false; if (searchAndReplaceWidgetFrame != null) { searchAndReplaceWidgetFrame.Destroy (); searchAndReplaceWidgetFrame = null; searchAndReplaceWidget = null; result = true; //clears any message it may have set IdeApp.Workbench.StatusBar.ShowReady (); } if (gotoLineNumberWidgetFrame != null) { gotoLineNumberWidgetFrame.Destroy (); gotoLineNumberWidgetFrame = null; gotoLineNumberWidget = null; result = true; } if (this.textEditor != null) this.textEditor.HighlightSearchPattern = false; if (this.splittedTextEditor != null) this.splittedTextEditor.HighlightSearchPattern = false; if (!isDisposed) ResetFocusChain (); return result; }
void ShowSearchReplaceWidget (bool replace) { if (searchAndReplaceWidget == null) { this.textEditor.SearchPattern = SearchAndReplaceWidget.searchPattern = ""; // reset pattern, to force an update if (TextEditor.IsSomethingSelected) { SetSearchPattern (); } if (!DisableAutomaticSearchPatternCaseMatch && PropertyService.Get ("AutoSetPatternCasing", true)) SearchAndReplaceWidget.IsCaseSensitive = TextEditor.IsSomethingSelected; KillWidgets (); searchAndReplaceWidgetFrame = new MonoDevelop.Components.RoundedFrame (); //searchAndReplaceWidgetFrame.SetFillColor (MonoDevelop.Components.CairoExtensions.GdkColorToCairoColor (widget.TextEditor.ColorStyle.Default.BackgroundColor)); searchAndReplaceWidgetFrame.SetFillColor (MonoDevelop.Components.CairoExtensions.GdkColorToCairoColor (vbox.Style.Background (StateType.Normal))); searchAndReplaceWidgetFrame.Child = searchAndReplaceWidget = new SearchAndReplaceWidget (this, searchAndReplaceWidgetFrame); searchAndReplaceWidgetFrame.ShowAll (); this.TextEditorContainer.AddAnimatedWidget (searchAndReplaceWidgetFrame, 300, Mono.TextEditor.Theatrics.Easing.ExponentialInOut, Mono.TextEditor.Theatrics.Blocking.Downstage, this.TextEditor.Allocation.Width - 400, -searchAndReplaceWidget.Allocation.Height); // this.PackEnd (searchAndReplaceWidget); // this.SetChildPacking (searchAndReplaceWidget, false, false, CHILD_PADDING, PackType.End); // searchAndReplaceWidget.ShowAll (); this.textEditor.HighlightSearchPattern = true; this.textEditor.TextViewMargin.RefreshSearchMarker (); if (this.splittedTextEditor != null) { this.splittedTextEditor.HighlightSearchPattern = true; this.splittedTextEditor.TextViewMargin.RefreshSearchMarker (); } ResetFocusChain (); } else { if (TextEditor.IsSomethingSelected) { SetSearchPattern (); } } searchAndReplaceWidget.UpdateSearchPattern (); searchAndReplaceWidget.IsReplaceMode = replace; if (searchAndReplaceWidget.SearchFocused) { if (replace) { this.Replace (); } else { this.FindNext (); } } searchAndReplaceWidget.Focus (); SetSearchOptions (); }
bool KillWidgets () { bool result = false; if (searchAndReplaceWidgetFrame != null) { searchAndReplaceWidgetFrame.Destroy (); searchAndReplaceWidgetFrame = null; searchAndReplaceWidget = null; result = true; } if (gotoLineNumberWidgetFrame != null) { gotoLineNumberWidgetFrame.Destroy (); gotoLineNumberWidgetFrame = null; gotoLineNumberWidget = null; result = true; } if (this.textEditor != null) this.textEditor.HighlightSearchPattern = false; if (this.splittedTextEditor != null) this.splittedTextEditor.HighlightSearchPattern = false; if (!isDisposed) ResetFocusChain (); return result; }
void DestroyFrames () { if (popupWidgetFrame != null) { popupWidgetFrame.Destroy (); popupWidgetFrame = null; gotoLineNumberWidget = null; searchAndReplaceWidget = null; } }
public void ShowSearchWidget () { if (searchAndReplaceWidget == null) { popupWidgetFrame = new MonoDevelop.Components.RoundedFrame (); //searchAndReplaceWidgetFrame.SetFillColor (MonoDevelop.Components.CairoExtensions.GdkColorToCairoColor (widget.TextEditor.ColorStyle.Default.BackgroundColor)); popupWidgetFrame.SetFillColor (MonoDevelop.Components.CairoExtensions.GdkColorToCairoColor (Style.Background (StateType.Normal))); popupWidgetFrame.Show (); popupWidgetFrame.Child = searchAndReplaceWidget = new SearchAndReplaceWidget (inspectEditor, popupWidgetFrame); searchAndReplaceWidget.Destroyed += (sender, e) => { DestroyFrames (); if (inspectEditor.IsRealized) inspectEditor.GrabFocus (); }; searchAndReplaceWidget.UpdateSearchPattern (); inspectEditor.AddAnimatedWidget (popupWidgetFrame, 300, Mono.TextEditor.Theatrics.Easing.ExponentialInOut, Blocking.Downstage, inspectEditor.Allocation.Width - 400, -searchAndReplaceWidget.Allocation.Height); searchAndReplaceWidget.IsReplaceMode = false; } searchAndReplaceWidget.Focus (); }