Пример #1
0
        public MainWindow_Widget()
            : base("You know I'm no good")
        {
            SetDefaultSize(800, 600);

            BorderWidth = 8;
            SetPosition(WindowPosition.Center);

            // Title
            Title = "Widget Test";

            // Label
            DeleteEvent += delegate
            {
                    Application.Quit();
            };

            Fixed fix = new Fixed();

            ComboBox combo = new ComboBox(distros);
            combo.Changed += OnChanged;

            lyrics = new Label(text);

            fix.Put(combo, 50, 30);
            fix.Put(lyrics, 50, 150);

            Add(fix);

            ShowAll();
        }
Пример #2
0
	// Constructor. It builds our application. It also calls its parent constructor through the base() keyword. 
	public GUI_Proof() : base("Example GTK# App"){
		// Sets a default size for our window. 
		this.SetDefaultSize(700, 500);
		// Centers the window on the screen. 
		this.SetPosition(WindowPosition.Center);
		// Sets an icon from the current directory
		//SetIconFromFile("web.png");
		// WIDGETS------------------------------------------
		// Containers
		Fixed fix = new Fixed();
		// Labels
		result.Text = "Pick a datatype";
		// ComboBox
		ComboBox cb = new ComboBox(dataTypes);
		// WIDGET's SETTINGS--------------------------------
		fix.Put(cb, 50, 30);
		fix.Put(result, 200, 30);
		// ADDS---------------------------------------------
		fix.Add(cb);
		fix.Add(result);
		this.Add(fix);
		// EVENT's ATTACH
		/* We plug a delegate to the DeleteEvent. This event is triggered, 
		 * when we click on the close button in the titlebar. Or press Alt+F4.
		 * Our delegate quits the application for good.  */
		//DeleteEvent += delegate { Application.Quit(); };
		/* This is another way, how we can plug an event handler to an event.
		 * It is just a bit more verbose. */
		this.DeleteEvent += new DeleteEventHandler(OnDelete);
		cb.Changed += OnChanged;
		// Now we show the window. The window is not visible, until we call the Show() method. 
		//Show();
		// This will work for all widgets and panels in the application
		this.ShowAll();
	}
Пример #3
0
    public SharpApp()
        : base("Center")
    {
        SetDefaultSize(250, 200);
        SetPosition(WindowPosition.Center);

        DeleteEvent += delegate { Application.Quit(); };

        Fixed fix = new Fixed();

        Button btn1 = new Button("Button");
        btn1.Sensitive = false;
        Button btn2 = new Button("Button");
        Button btn3 = new Button(Stock.Close);
        Button btn4 = new Button("Button");
        btn4.SetSizeRequest(80,40);

        fix.Put(btn1,	20,	30);
        fix.Put(btn2,	100, 	30);
        fix.Put(btn3,	20,	80);
        fix.Put(btn4,	100,	80);

        Add(fix);

        ShowAll();
    }
Пример #4
0
        public MainWindow_Event()
            : base("")
        {
            SetDefaultSize(250, 200);
            SetPosition(WindowPosition.Center);

            DeleteEvent += delegate { Application.Quit(); };

            Fixed fix = new Fixed();

            Button btn = new Button("Enter");
            btn.EnterNotifyEvent += OnEnter;

            _quit = new Button("Quit");
            //_quit.Clicked += OnClick;
            _quit.SetSizeRequest(80, 35);

            CheckButton cb = new CheckButton("connect");
            cb.Toggled += OnToggled;

            fix.Put(btn, 50, 20);
            fix.Put(_quit, 50, 50);
            fix.Put(cb, 120, 20);
            Add(fix);
            ShowAll();
        }
Пример #5
0
        internal VisualTreeElement AddItem(VisualTreeElement element)
        {
            int x = BindPanelX(element);
            int y = BindPanelY(element);

            _frame.Put(element.Widget, x, y);
            this.PlaceItem(element, x, y);
            return(this.AddChildren(element));
        }
Пример #6
0
        private void AddWindowContent()
        {
            _container = new Fixed ();
            Button addGameButton = new Button ();
            addGameButton.Label = "Add Games";
            addGameButton.Clicked += OnAddGameClicked;

            _tempGameListLabel = new Label();
            _tempGameListLabel.Text = "Games will show here once added";

            _container.Put(_tempGameListLabel, 20, 50);
            _container.Put (addGameButton, 20, 20);

            Add(_container);
        }
Пример #7
0
        private void AddWindowContent()
        {
            Label label = new Label("Add game"), titleLabel = new Label("Host address"), saveLabel = new Label("Save path");
            AddGameButton = new Button();
            _hostPathBox = new Entry();
            _hostPathBox.SetSizeRequest(300, _hostPathBox.HeightRequest);
            Fixed fix = new Fixed();

            AddGameButton.Label = "Add game";
            AddGameButton.Clicked += OnAddGame;

            fix.Put(label, 5, 10);
            fix.Put(titleLabel, 5, 30);
            fix.Put(_hostPathBox, 5, 100);
            fix.Put(AddGameButton, 5, 140);

            Add(fix);
        }
Пример #8
0
        public VideoView()
        {
            preview_pos = PreviewPos.ButtonRight;

            VBox vbox = new VBox(false, 0);

            vbox.Show();

            Frame frame = new Frame();

            //frame.BorderWidth = 5;
            frame.Show();

            vbox.Add(frame);

            mainView = new Gtk.EventBox();
            mainView.WidthRequest  = 400;
            mainView.HeightRequest = 300;
            mainView.ModifyBg(Gtk.StateType.Normal, new Gdk.Color(255, 255, 255));
            mainView.ModifyBg(Gtk.StateType.Active, new Gdk.Color(255, 255, 255));
            mainView.Show();

            //this.WidthRequest = 333; // 500; //250;
            //this.HeightRequest = 250; // 375; //187; 250
            preview = new Gtk.DrawingArea();
            preview.WidthRequest  = 120;            // 75; //150;
            preview.HeightRequest = 90;             // 56; //112;
            preview.ModifyBg(Gtk.StateType.Normal, new Gdk.Color(0, 0, 0));
            preview.ModifyBg(Gtk.StateType.Active, new Gdk.Color(0, 0, 0));
            preview.Show();

            fix = new Gtk.Fixed();
            fix.Put(preview, space, space);
            fix.Show();
            mainView.Add(fix);

            frame.Add(mainView);

//			Label label = new Label(Catalog.GetString("Video Chat in progress..."));

//			label.Show();
//			vbox.PackStart(label, false, true, 0);

            Button button = new Button(Catalog.GetString("End Call"));

            button.Clicked += OnCloseVideoClicked;
            button.Show();
            vbox.PackStart(button, false, false, 5);

            this.Add(vbox);
            mainView.SizeAllocated += OnSizeAllocated;
//			this.SizeRequested += OnsizeRequested;
            this.QueueResize();
            MovePreview();
        }
Пример #9
0
        public MainWindow_Widget2()
            : base("Widget2")
        {
            SetDefaultSize(800, 600);
            SetPosition(WindowPosition.Center);

            BorderWidth = 7;
            DeleteEvent += delegate
            {
                    Application.Quit();
            };

            _label = new Label("...");

            Entry entry = new Entry();
            entry.Changed += OnChangedEntry;

            // scale and image
            HScale scale = new HScale(0, 100, 1);
            {
                scale.SetSizeRequest(160, 35);
                scale.ValueChanged += OnChangeScale;

                LoadImage();

                _image = new Image(img1);
            }

            // Color
            ToggleButton red = new ToggleButton("red");
            {
                red.SetSizeRequest(80, 35);
                red.Clicked += OnRed;

                _area = new DrawingArea();
                _area.SetSizeRequest(150, 150);
            }

            Calendar calendar = new Calendar();
            {
                calendar.DaySelected += OnDaySelected;
            }

            Fixed fix = new Fixed();
            fix.Put(entry, 60, 100);
            fix.Put(_label, 60, 40);
            fix.Put(scale, 60, 200);
            fix.Put(_image, 10, 240);
            fix.Put(red, 300, 250);
            fix.Put(_area, 300, 500);
            fix.Put(calendar, 500, 300);

            Add(fix);

            ShowAll();
        }
		public Screen()
			: base(Gtk.WindowType.Toplevel)
		{
			Build();

			this.SetSizeRequest(500, 100);
			this.DefaultSize = new Gdk.Size(500, 100);

			/* Create a new button */
			buttonLoad = new Button();
			buttonSend = new Button();

			/* Connect the "clicked" signal of the button to our callback */
			buttonLoad.Clicked += new EventHandler(buttonLoad_Clicked);
			buttonLoad.Label = "Load";
			buttonLoad.SetSizeRequest(80, 20);

			buttonSend.Clicked += new EventHandler(buttonSend_Clicked);
			buttonSend.Label = "Send";
			buttonSend.SetSizeRequest(80, 20);

			textBoxLoad = new Entry("image file");
			textBoxLoad.SetSizeRequest(320, 20);
			textBoxSend = new Entry(HolisticWare.SlideShow.BusinessLogic.WebServiceClientProxy.Url);
			textBoxSend.SetSizeRequest(320, 20);

			fix = new Fixed();

			fix.Put(textBoxLoad, 20, 20);
			fix.Put(textBoxSend, 20, 50);
			fix.Put(buttonLoad, 360, 20);
			fix.Put(buttonSend, 360, 50);

			Add(fix);

			this.ShowAll();

			return;
		}
Пример #11
0
    public static void Main(string[] args)
    {
        if (args.Length != 2) {
        Console.WriteLine("Need socket id and file-name as an argument.");
        return;
        }
        uint socket_id = UInt32.Parse(args[0]);
        string filename=args[1];
        Console.WriteLine("filename="+filename);

        Console.WriteLine("using socket "+socket_id);

        //	    Glib.Thread.Init();
        Gdk.Threads.Init();

        Application.Init();
        Gdk.Threads.Enter();
        try {

        Plug plug= new Plug(socket_id);

        Fixed fixed1 = new Fixed();
        fixed1.Put(new Label("File: \""+filename+"\""), 10, 10);
        fixed1.Put(new Entry("HELLO"), 10, 50);
        fixed1.Put(new Entry("World"), 10, 100);
        fixed1.ShowAll();
        plug.Add(fixed1);
        plug.ShowAll();

        Console.WriteLine("app is running..");
        Application.Run();
            } finally {
          Gdk.Threads.Leave();
            }
        Console.WriteLine("Done!");
    }
Пример #12
0
        public MainClass()
            : base("Buttons")
        {
            sPort.PortName = "/dev/ttyACM0";
            sPort.BaudRate = 9600;
            sPort.Open ();

            SetDefaultSize (250, 300);
            SetPosition (WindowPosition.Center);
            DeleteEvent += delegate{
                Application.Quit ();
            };

            Fixed fix = new Fixed ();
            Button green = new Button ("Green");
            green.Name = ("Green");
            green.SetSizeRequest(50,30);

            Button red = new Button ("Red");
            red.Name = ("Red");
            red.SetSizeRequest(50,30);

            Button yellow = new Button ("Yellow");
            yellow.Name = ("Yellow");
            yellow.SetSizeRequest(50,30);

            green.Clicked += new EventHandler (OnClick);
            red.Clicked += new EventHandler (OnClick);
            yellow.Clicked += new EventHandler (OnClick);

            fix.Put(green,20,30);
            fix.Put (red, 80, 30);
            fix.Put (yellow, 140, 30);
            Add (fix);
            ShowAll ();
        }
Пример #13
0
    public MainWindow()
        : base("Icon")
    {
        SetDefaultSize(250, 160);
        SetPosition(WindowPosition.Center);

        //DeleteEvent += new DeleteEventHandler(OnDeleteEvent);
        DeleteEvent += delegate
        {
                Application.Quit();
        };

        ModifyBg(StateType.Normal, new Gdk.Color(40, 40, 40));

        try
        {
            _image1 = new Gdk.Pixbuf("evolution.png");
        }
        catch (Exception ex)
        {
            //
            MessageDialog box = new MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.Ok, ex.Data.ToString());
            box.Show();
        }

        Image img1 = new Image(_image1);

        Fixed fix = new Fixed();

        //        Button btn1 = new Button("Button1");
        //        btn1.Sensitive = false;
        //        Button btn2 = new Button("Button2");
        //        Button btn3 = new Button(Stock.Close);
        //        Button btn4 = new Button();
        //        btn4.SetSizeRequest(80, 40);

        fix.Put(img1, 0, 0);

        //        fix.Put(btn1, 20, 30);
        //        fix.Put(btn2, 100, 30);
        //        fix.Put(btn3, 20, 80);
        //        fix.Put(btn4, 100, 80);

        Add(fix);

        ShowAll();
    }
Пример #14
0
        public MainWindow_Pango()
            : base("pango + unicode + font")
        {
            SetPosition(WindowPosition.Center);
            DeleteEvent += delegate
            {
                    Application.Quit();
            };

            ScrolledWindow sw = new ScrolledWindow();
            sw.ShadowType = ShadowType.EtchedIn;
            sw.SetPolicy(PolicyType.Automatic, PolicyType.Automatic);

            Context context = this.CreatePangoContext();
            _fonts = context.Families;

            _store = CreateModel();

            TreeView view = new TreeView();
            view.RulesHint = true;
            sw.Add(view);

            CreateColumn(view);

            string text = @"하늘과 바람과 별과 시 - 윤동주\n1821 года в Москве.Был вторым из 7 детей. Отец, Михаил Андреевич";

            _label = new Label(text);

            Pango.FontDescription fontDesc = Pango.FontDescription.FromString("SignPainter 20");
            _label.ModifyFont(fontDesc);

            Fixed fix = new Fixed();

            fix.Put(_label, 5, 5);
            Add(fix);
            //Add(sw);
            ShowAll();
        }
Пример #15
0
        public VideoView()
        {
            preview_pos = PreviewPos.ButtonRight;

            VBox vbox = new VBox(false, 0);
            vbox.Show();

            Frame frame = new Frame();
            //frame.BorderWidth = 5;
            frame.Show();

            vbox.Add(frame);

            mainView = new Gtk.EventBox();
            mainView.WidthRequest = 400;
            mainView.HeightRequest = 300;
            mainView.ModifyBg (Gtk.StateType.Normal, new Gdk.Color (255,255,255));
            mainView.ModifyBg (Gtk.StateType.Active, new Gdk.Color (255,255,255));
            mainView.Show();

            //this.WidthRequest = 333; // 500; //250;
            //this.HeightRequest = 250; // 375; //187; 250
            preview = new Gtk.DrawingArea ();
            preview.WidthRequest = 120; // 75; //150;
            preview.HeightRequest = 90; // 56; //112;
            preview.ModifyBg (Gtk.StateType.Normal, new Gdk.Color (0,0,0));
            preview.ModifyBg (Gtk.StateType.Active, new Gdk.Color (0,0,0));
            preview.Show();

            fix = new Gtk.Fixed ();
            fix.Put (preview, space, space);
            fix.Show();
            mainView.Add(fix);

            frame.Add(mainView);

            //			Label label = new Label(Catalog.GetString("Video Chat in progress..."));

            //			label.Show();
            //			vbox.PackStart(label, false, true, 0);

            Button button = new Button(Catalog.GetString("End Call"));
            button.Clicked += OnCloseVideoClicked;
            button.Show();
            vbox.PackStart(button, false, false, 5);

            this.Add(vbox);
            mainView.SizeAllocated += OnSizeAllocated;
            //			this.SizeRequested += OnsizeRequested;
            this.QueueResize ();
            MovePreview ();
        }
Пример #16
0
    /// <summary>
    ///     The set up buttons.
    /// </summary>
    private void SetUpButtons()
    {
        var x = 5; 
        var y = 5;

        this._fixedContainer = new Fixed();
        this._weatherButton = new CWeatherButton(0, 300);
        this._watchButton = new CWatchButton(0, 375);

        IRemoteDevice[] devs = CommLayerManager.Instance.GetAllDevices(DeviceAuthorizedEnum.Authorized).ToArray();

        foreach (IRemoteDevice dev in devs)
        {
            var p1 = new CThemperatureButton(x, y, dev);
            var e1 = new EventBox();
            e1.VisibleWindow = false;
            e1.Add(p1);

            e1.AddEvents((int)(
                EventMask.ButtonPressMask | 
                EventMask.ButtonReleaseMask | 
                EventMask.KeyPressMask | 
                EventMask.PointerMotionMask));

            e1.ButtonPressEvent += HandleButtonPressEvent;

            _fixedContainer.Put(e1, x, y);
            x += p1.WidthRequest + 5;
        }

        _fixedContainer.Add(this._weatherButton);
        _fixedContainer.Add(this._watchButton);

        //var chart = new CChart(0, 120);
        //chart.Show();
        //_fixedContainer.Add(chart);
        //test(_fixedContainer);

        this.Add(_fixedContainer);

    }
Пример #17
0
    private void test(Fixed _fixed)
    {
        double[] a = {0, 200, 140, 14, 240, 320, 150, 80, 170, 90};
        //Теперь можно нарисовать соответствующую линию и задать ей название в легенде
        LinePlot lp = new LinePlot();
        lp.DataSource = a;
        lp.Label = "My Label";
        //По умолчанию линия черная и тонкая. Это можно изменить предварительно созданным объектом System.Drawing.Pen
        lp.Pen = new Pen(new SolidBrush(System.Drawing.Color.Black));

        //Для лучшего вида на график наносится сетка
        Grid myGrid = new Grid();
        //По неясной причине, Vertical обозначает горизонтальные линии, которые будут видимы в данном случае
        myGrid.VerticalGridType = Grid.GridType.Fine;
        //а Horizontal — вертикальные линии сетки, которые будут убраны
        myGrid.HorizontalGridType = Grid.GridType.None;

        NPlot.Gtk.PlotSurface2D plot = new NPlot.Gtk.PlotSurface2D();
        //И очистить его от лишнего содержимого, если имеется
        plot.Clear();
        //Можно установить заголовок
        plot.Title = "Title";
        //Добавить рамочку с легендой графика
        plot.Legend = new Legend();
        //переместить ее вправо-вниз
        plot.Legend.AttachTo(NPlot.PlotSurface2D.XAxisPosition.Bottom, NPlot.PlotSurface2D.YAxisPosition.Right);
        //отодвинуть от оси, чтобы не перекрывать числа
        plot.Legend.YOffset = 16;
        //и вынести за плоскость графика
        plot.Legend.HorizontalEdgePlacement = Legend.Placement.Outside;
        plot.Legend.VerticalEdgePlacement = Legend.Placement.Inside;
        //Расширим пространство вокруг плоскости графика
        plot.Padding = 40;
        //Чтобы линии выглядели не так убого, стоит их сгладить
        plot.SmoothingMode=System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
        //Осталось добавить все элементы на график
        plot.Add(myGrid);
        plot.Add(lp);
        //Если график финансовый, то надо это четко обозначить, подписав ось
        plot.YAxis1.Label = "Money";
        //и сделав нормальное отображение чисел на оси (по умолчанию — экспоненциальный вид)
        plot.YAxis1.NumberFormat = "{0:n}";
        //Последний шаг
        plot.Refresh();
        plot.Show();
        _fixed.Put(plot, 0, 120);
    }
Пример #18
0
        public void Start()
        {
            window = new Window(WindowType.Toplevel);
            window.SetPosition(WindowPosition.Mouse);
            window.KeepAbove = true;
            window.Resize(200, 150);
            window.Title = "Dimensions";
            window.Deletable = false;

            Fixed fix = new Fixed();

            // width
            widthLabel = new Label();
            widthLabel.Text = "Width";
            fix.Put(widthLabel, 15, 25);

            widthInputEntry = new Entry();
            widthInputEntry.SetSizeRequest(100, 25);
            widthInputEntry.TextInserted += OnlyNumber;
            widthInputEntry.TextInserted += ChangeWidth;
            widthInputEntry.TextDeleted += ChangeWidth;
            fix.Put(widthInputEntry, 80, 20);

            // height
            heightLabel = new Label();
            heightLabel.Text = "Height";
            fix.Put(heightLabel, 15, 75);

            heightInputEntry = new Entry();
            heightInputEntry.SetSizeRequest(100, 25);
            heightInputEntry.TextInserted += OnlyNumber;
            heightInputEntry.TextInserted += ChangeHeight;
            heightInputEntry.TextDeleted += ChangeHeight;
            fix.Put(heightInputEntry, 80, 70);

            // Buttons
            okButton = new Button();
            okButton.Label = "OK";
            okButton.SetSizeRequest(80, 30);
            okButton.Clicked += okButton_Clicked;
            fix.Put(okButton, 10, 110);

            cancelButton = new Button();
            cancelButton.Label = "Cancel";
            cancelButton.SetSizeRequest(80, 30);
            cancelButton.Clicked += cancelButton_Clicked;
            fix.Put(cancelButton, 110, 110);

            window.Add(fix);
            window.ShowAll();

            widthInputEntry.Text = "" + width;
            heightInputEntry.Text = "" + height;
        }
Пример #19
0
        public void Start()
        {
            window = new Window(WindowType.Toplevel);
            window.Move(10, 60);
            window.Resize(230, 700);
            window.Title = "Toolbar";
            window.Deletable = false;
            window.ModifyBg(StateType.Normal, new Gdk.Color(182, 195, 205));

            Fixed fix = new Fixed();

            openButton = new Button();
            openButton.Label = "Open Images";
            openButton.SetSizeRequest(100, 30);
            openButton.TooltipText = "Shortcut: " + keymap["open images"].ToString();
            openButton.Name = "open images";
            openButton.Clicked += OperatorButtonClicked;

            saveButton = new Button();
            saveButton.Label = "Save Collage";
            saveButton.SetSizeRequest(100, 30);
            saveButton.TooltipText = "Shortcut: " + keymap["save collage"].ToString();
            saveButton.Name = "save collage";
            saveButton.Clicked += OperatorButtonClicked;

            deleteButton = new Button();
            deleteButton.Label = "Delete";
            deleteButton.SetSizeRequest(100, 30);
            deleteButton.TooltipText = "Shortcut: " + keymap["delete images"].ToString();
            deleteButton.Name = "delete images";
            deleteButton.Clicked += OperatorButtonClicked;

            changeAspectRatioButton = new Button();
            changeAspectRatioButton.Label = "Aspect Ratio";
            changeAspectRatioButton.SetSizeRequest(100, 30);
            changeAspectRatioButton.TooltipText = "Shortcut: " + keymap["change aspect ratio"].ToString();
            changeAspectRatioButton.Name = "change aspect ratio";
            changeAspectRatioButton.Clicked += OperatorButtonClicked;

            autoPositionButton = new Button();
            autoPositionButton.Label = "Auto Position";
            autoPositionButton.SetSizeRequest(100, 30);
            autoPositionButton.TooltipText = "Shortcut: " + keymap["auto position"].ToString();
            autoPositionButton.Name = "auto position";
            autoPositionButton.Clicked += OperatorButtonClicked;

            changeBackgroundColorButton = new Button();
            changeBackgroundColorButton.Label = "Background";
            changeBackgroundColorButton.SetSizeRequest(100, 30);
            changeBackgroundColorButton.TooltipText = "Shortcut: " + keymap["change background color"].ToString();
            changeBackgroundColorButton.Name = "change background color";
            changeBackgroundColorButton.Clicked += OperatorButtonClicked;

            setBackwardButton = new Button();
            setBackwardButton.Label = "Set Backward";
            setBackwardButton.SetSizeRequest(100, 30);
            setBackwardButton.TooltipText = "Shortcut: " + keymap["set backward"].ToString();
            setBackwardButton.Name = "set backward";
            setBackwardButton.Clicked += OperatorButtonClicked;

            setForwardButton = new Button();
            setForwardButton.Label = "Set Forward";
            setForwardButton.SetSizeRequest(100, 30);
            setForwardButton.TooltipText = "Shortcut: " + keymap["set forward"].ToString();
            setForwardButton.Name = "set forward";
            setForwardButton.Clicked += OperatorButtonClicked;

            setAsBackgroundButton = new Button();
            setAsBackgroundButton.Label = "Set Background";
            setAsBackgroundButton.SetSizeRequest(100, 30);
            setAsBackgroundButton.TooltipText = "Shortcut: " + keymap["set as background"].ToString();
            setAsBackgroundButton.Name = "set as background";
            setAsBackgroundButton.Clicked += OperatorButtonClicked;

            setToFrontButton = new Button();
            setToFrontButton.Label = "Set to Front";
            setToFrontButton.SetSizeRequest(100, 30);
            setToFrontButton.TooltipText = "Shortcut: " + keymap["set to front"].ToString();
            setToFrontButton.Name = "set to front";
            setToFrontButton.Clicked += OperatorButtonClicked;

            clearButton = new Button();
            clearButton.Label = "Clear Collage";
            clearButton.SetSizeRequest(100, 30);
            clearButton.TooltipText = "Shortcut: " + keymap["clear collage"].ToString();
            clearButton.Name = "clear collage";
            clearButton.Clicked += OperatorButtonClicked;

            selectAllButton = new Button();
            selectAllButton.Label = "Select All";
            selectAllButton.SetSizeRequest(100, 30);
            selectAllButton.TooltipText = "Shortcut: " + keymap["select all"].ToString();
            selectAllButton.Name = "select all";
            selectAllButton.Clicked += OperatorButtonClicked;

            undoButton = new Button();
            undoButton.Label = "Undo";
            undoButton.SetSizeRequest(100, 30);
            undoButton.TooltipText = "Shortcut: " + keymap["undo"].ToString();
            undoButton.Name = "undo";
            undoButton.Clicked += OperatorButtonClicked;

            redoButton = new Button();
            redoButton.Label = "Redo";
            redoButton.SetSizeRequest(100, 30);
            redoButton.TooltipText = "Shortcut: " + keymap["redo"].ToString();
            redoButton.Name = "redo";
            redoButton.Clicked += OperatorButtonClicked;

            stayOnTopCheckbutton = new CheckButton();
            stayOnTopCheckbutton.Label = "Stay on Top";
            stayOnTopCheckbutton.Toggled += StayOnTopToogled;

            // place objects in window
            fix.Put(openButton, 10, 20); fix.Put(saveButton, 120, 20);
            fix.Put(deleteButton, 10, 55); fix.Put(changeAspectRatioButton, 120, 55);
            fix.Put(autoPositionButton, 10, 90); fix.Put(changeBackgroundColorButton, 120, 90);

            fix.Put(setBackwardButton, 10, 140); fix.Put(setForwardButton, 120, 140);
            fix.Put(setAsBackgroundButton, 10, 175); fix.Put(setToFrontButton, 120, 175);
            fix.Put(clearButton, 10, 210); fix.Put(selectAllButton, 120, 210);

            fix.Put(undoButton, 10, 260); fix.Put(redoButton, 120, 260);

            fix.Put(stayOnTopCheckbutton, 10, 300);

            window.Add(fix);
            window.ShowAll();
        }