private void ExecuteOpen(object sender, ExecutedRoutedEventArgs e)
        {
            var dialog = new OpenFileDialog {
                AddExtension = true,
                DefaultExt   = SnippetFileExtension,
                Filter       = String.Format("jQueryBuddy Snippet (*.{0})|*.{0}", SnippetFileExtension)
            };

            if (dialog.ShowDialog() != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }

            var serializer = new XmlSerializer(typeof(Snippet));
            var snippet    = serializer.Deserialize(dialog.OpenFile()) as Snippet;

            if (snippet != null)
            {
                var newSnippet = new SnippetDocument {
                    Html = snippet.Html, Javascript = snippet.Javascript
                };
                newSnippet.JavascriptCompletion += OnPreviewJavascriptCompletion;
                newSnippet.IsModified            = false;
                var newTab = new TabItem {
                    Content = newSnippet, Header = "New Tab"
                };
                DocumentTab.Items.Add(newTab);
                newTab.IsSelected = true;
            }
        }
 private void OnDocumentTabSelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (e.AddedItems.Count == 0)
     {
         return;
     }
     _activeTabDocument = ((TabItem)e.AddedItems[0]).Content as SnippetDocument;
 }
        private SnippetDocument CreateNewDocument(string tabName)
        {
            var newSnippet = new SnippetDocument();

            newSnippet.JavascriptCompletion += OnPreviewJavascriptCompletion;
            var newTab = new TabItem {
                Content = newSnippet, Header = tabName
            };

            DocumentTab.Items.Add(newTab);
            newTab.IsSelected = true;
            return(newSnippet);
        }
        public MainWindow()
        {
            InitializeComponent();
            Icon = BitmapFrame.Create(new Uri("pack://application:,,,/Resources/Images/DollarBlue.ico", UriKind.RelativeOrAbsolute));

            _references               = new Rendering.References();
            _resultsRenderer          = new HtmlRenderer(grdResults);
            _resultsRenderer.OnError += OnRenderError;

            var newSnippet = CreateNewDocument("New Query");

            _activeTabDocument = newSnippet;

            BindCommands();

            Closing += OnClosing;

            _instantHelpRenderer = new WebBrowserInstantHelpRenderer(); // or ... new FlowDocumentInstantHelpRenderer();
            _instantHelpRenderer.LoadPreferences(Settings.Default);
            LoadPreferences(Settings.Default);
        }