示例#1
0
        public hashgen()
        {
            self = Assembly.GetExecutingAssembly ();

            Stream ico = self.GetManifestResourceStream ("HashGenerator.icon.png");
            icon = new Pixbuf (ico);

            // Window
            Gtk.Window window = new Gtk.Window ((self.GetCustomAttributes (typeof(AssemblyTitleAttribute), false) [0] as AssemblyTitleAttribute).Title);
            window.SetDefaultSize (600, 500);
            window.DeleteEvent += OnDelete;
            window.Icon = icon;

            #region [Widgets]
            Box topBox = new VBox ();
            topBox.Homogeneous = false;

            // Toolbar
            Toolbar tb = new Toolbar ();

            // Toolbar New Button
            ToolButton tb_New = new ToolButton (Stock.New);
            tb_New.Clicked += OnToolbarNew_Clicked;
            tb.Add (tb_New);

            // Toolbar Open Button
            ToolButton tb_Open = new ToolButton (Stock.Open);
            tb_Open.Clicked += OnToolbarOpen_Clicked;
            tb.Add (tb_Open);

            // Toolbar Save Button
            ToolButton tb_Save = new ToolButton (Stock.Save);
            tb_Save.Clicked += OnToolbarSave_Clicked;
            tb.Add (tb_Save);

            tb.Add (new SeparatorToolItem ());

            // Toolbar About Button
            ToolButton tb_About = new ToolButton (Stock.About);
            tb_About.Clicked += new EventHandler (OnToolbarAbout_Clicked);
            tb.Add (tb_About);

            tb.ShowAll ();
            topBox.PackStart (tb, false, true, 0);

            Box mbox = new VBox ();
            topBox.PackStart (mbox, false, true, 0);

            Box mhbx = new HBox ();
            mbox.PackStart (mhbx, false, true, 0);

            entry = new Entry ();
            mhbx.PackStart (entry, true, true, 0);

            Button btnFile = new Button ();
            btnFile.Image = Gtk.Image.NewFromIconName (Stock.File, IconSize.Button);
            btnFile.Clicked += OnBtnFile_Clicked;
            mhbx.PackStart (btnFile, false, true, 0);

            string[] htype = { "MD5", "SHA128", "SHA256", "SHA512", "CRC32" };
            cboType = new ComboBox (htype);
            cboType.Active = 0;
            mhbx.PackStart (cboType, false, false, 0);

            Button btnHash = new Button ("Generate");
            btnHash.Clicked += OnBtnHash_Clicked;
            mhbx.PackStart (btnHash, false, false, 0);

            // Tree
            ScrolledWindow sw = new ScrolledWindow ();
            topBox.PackStart (sw, true, true, 0);
            TreeView tree = new TreeView ();
            sw.Add (tree);

            TreeViewColumn inColu = new TreeViewColumn ();
            inColu.Title = "Input";
            CellRendererText inCell = new CellRendererText ();
            inColu.PackStart (inCell, true);

            TreeViewColumn typeColu = new TreeViewColumn ();
            typeColu.Title = "Type";
            CellRendererText typeCell = new CellRendererText ();
            typeColu.PackStart (typeCell, true);

            TreeViewColumn hashColu = new TreeViewColumn ();
            hashColu.Title = "Hash";
            CellRendererText hashCell = new CellRendererText ();
            hashCell.Editable = true;
            hashColu.PackStart (hashCell, true);

            tree.AppendColumn (inColu);
            tree.AppendColumn (typeColu);
            tree.AppendColumn (hashColu);

            inColu.AddAttribute (inCell, "text", 0);
            typeColu.AddAttribute (typeCell, "text", 1);
            hashColu.AddAttribute (hashCell, "text", 2);
            hashStore = new ListStore (typeof(string), typeof(string), typeof(string));

            // Search Filter
            filter = new TreeModelFilter (hashStore, null);
            filter.VisibleFunc = SearchTree;

            tree.Model = filter;

            // StatusBar
            Statusbar sb = new Statusbar ();
            topBox.PackStart (sb, false, true, 0);

            sb.Add (new Label ("Search:"));
            search = new Entry ();
            search.Changed += OnSearch;
            sb.Add (search);

            #endregion
            window.Add (topBox);
            window.ShowAll ();
        }
示例#2
0
        private void Build()
        {
            this.Title = "Sqlite browser";

            mainVbox         = new Gtk.VBox();
            mainVbox.Spacing = 4;

            this.Add(mainVbox);

            // Main menu
            mainMenu = new MainMenu();

            mainVbox.Add(mainMenu);

            var mainMenuBox = (Gtk.Box.BoxChild)mainVbox [mainMenu];

//			mainMenuBox.Position = 0;
            mainMenuBox.Expand = false;
            mainMenuBox.Fill   = false;

            mainMenu.NewSqliteDbActivated        += OnNewSqliteDb;
            mainMenu.OpenSqliteDbActivated       += OnOpenSqliteDb;
            mainMenu.ExitActivated               += OnExit;
            mainMenu.NewSqlEditorWindowActivated += OnNewSqlTab;

            // toolbar
            toolbar = new MainToolbar();
            mainVbox.Add(toolbar);
            var toolbarBox = (Gtk.Box.BoxChild)mainVbox [toolbar];

            toolbarBox.Expand = false;

            // left paned
            leftPaned          = new Gtk.HPaned();
            leftPaned.CanFocus = true;
            mainVbox.Add(leftPaned);
            var objectBrowserScrolledWindow = new Gtk.ScrolledWindow();

            objectBrowserScrolledWindow.ShadowType   = ShadowType.EtchedIn;
            objectBrowserScrolledWindow.WidthRequest = 300;
            leftPaned.Add1(objectBrowserScrolledWindow);

            objectBrowserTreeView = new TreeView();
            objectBrowserScrolledWindow.Add(objectBrowserTreeView);

            objectBrowserTreeStore      = new TreeStore(typeof(Gdk.Pixbuf), typeof(IFeature));
            objectBrowserTreeView.Model = objectBrowserTreeStore;

            // main tabbed area
            tabbedArea = new Notebook();
            leftPaned.Add2(tabbedArea);

            // status bar
            statusBar = new Statusbar();
            mainVbox.Add(statusBar);
            var statusBarBox = (Gtk.Box.BoxChild)mainVbox [statusBar];

            statusBarBox.Expand = false;
            statusBarBox.Fill   = false;

            global::Gtk.Label currentDbLabel = new Label();
            ApplicationState.Instance.CurrentConnectionChanged += (sender, e) => currentDbLabel.Text = e.DbServerConnection.Name;
            statusBar.Add(currentDbLabel);

            this.ShowAll(  );

            this.DeleteEvent += OnExit;
        }
示例#3
0
        private void Build()
        {
            this.Title = "Sqlite browser";

            mainVbox = new Gtk.VBox ();
            mainVbox.Spacing = 4;

            this.Add (mainVbox);

            // Main menu
            mainMenu = new MainMenu ();

            mainVbox.Add (mainMenu);

            var mainMenuBox = (Gtk.Box.BoxChild)mainVbox [mainMenu];

            //			mainMenuBox.Position = 0;
            mainMenuBox.Expand = false;
            mainMenuBox.Fill = false;

            mainMenu.NewSqliteDbActivated += OnNewSqliteDb;
            mainMenu.OpenSqliteDbActivated += OnOpenSqliteDb;
            mainMenu.ExitActivated += OnExit;
            mainMenu.NewSqlEditorWindowActivated += OnNewSqlTab;

            // toolbar
            toolbar = new MainToolbar();
            mainVbox.Add (toolbar);
            var toolbarBox = (Gtk.Box.BoxChild)mainVbox [toolbar];
            toolbarBox.Expand = false;

            // left paned
            leftPaned = new Gtk.HPaned();
            leftPaned.CanFocus = true;
            mainVbox.Add (leftPaned);
            var objectBrowserScrolledWindow = new Gtk.ScrolledWindow ();
            objectBrowserScrolledWindow.ShadowType = ShadowType.EtchedIn;
            objectBrowserScrolledWindow.WidthRequest = 300;
            leftPaned.Add1 (objectBrowserScrolledWindow);

            objectBrowserTreeView = new TreeView ();
            objectBrowserScrolledWindow.Add (objectBrowserTreeView);

            objectBrowserTreeStore = new TreeStore (typeof(Gdk.Pixbuf), typeof(IFeature));
            objectBrowserTreeView.Model = objectBrowserTreeStore;

            // main tabbed area
            tabbedArea = new Notebook();
            leftPaned.Add2 (tabbedArea);

            // status bar
            statusBar = new Statusbar();
            mainVbox.Add (statusBar);
            var statusBarBox = (Gtk.Box.BoxChild)mainVbox [statusBar];
            statusBarBox.Expand = false;
            statusBarBox.Fill = false;

            global::Gtk.Label currentDbLabel = new Label ();
            ApplicationState.Instance.CurrentConnectionChanged += (sender, e) => currentDbLabel.Text = e.DbServerConnection.Name;
            statusBar.Add (currentDbLabel);

            this.ShowAll (	);

            this.DeleteEvent += OnExit;
        }