Exemplo n.º 1
0
        public static Xwt.Size GetSize(this IconSize size)
        {
            var displayScale = Platform.IsWindows ? GtkWorkarounds.GetScaleFactor() : 1.0;
            int w, h;

            size.GetSize(out w, out h);
            return(new Xwt.Size((double)w / displayScale, (double)h / displayScale));
        }
Exemplo n.º 2
0
        private void BuildWidget()
        {
            var yscale = 0f;

            if (Platform.IsWindows)
            {
                yscale = (float)GtkWorkarounds.GetScaleFactor(this);
            }

            alignment = new Alignment(0.5f, 0.5f, 1f, yscale);
            alignment.SetPadding(1, 1, 3, 3);
            VisibleWindow = false;

            box   = new HBox();
            entry = new FramelessEntry(this);
            entry.UseNativeContextMenus();

            filter_button = new HoverImageButton(IconSize.Menu, "md-searchbox-search");
            clear_button  = new HoverImageButton(IconSize.Menu, "md-searchbox-clear");

            entryAlignment = new Gtk.Alignment(0.5f, 0.5f, 1f, 1f);
            alignment.SetPadding(0, 0, 3, 3);
            entryAlignment.Add(entry);
            box.PackStart(filter_button, false, false, 0);
            box.PackStart(entryAlignment, true, true, 0);
            box.PackStart(clear_button, false, false, 0);
            alignment.Add(box);
            Add(alignment);
            alignment.ShowAll();

            entry.StyleSet      += OnInnerEntryStyleSet;
            entry.StateChanged  += OnInnerEntryStateChanged;
            entry.FocusInEvent  += OnInnerEntryFocusEvent;
            entry.FocusOutEvent += OnInnerEntryFocusEvent;
            entry.Changed       += OnInnerEntryChanged;
            entry.Activated     += delegate {
                NotifyActivated();
            };

            filter_button.CanFocus = false;
            clear_button.CanFocus  = false;

            filter_button.ButtonReleaseEvent += OnButtonReleaseEvent;
            clear_button.ButtonReleaseEvent  += OnButtonReleaseEvent;
            clear_button.Clicked             += OnClearButtonClicked;

            ShowHideButtons();
        }
Exemplo n.º 3
0
        static void UpdateXwtDefaults()
        {
            // Xwt default dialog icons
            Xwt.Toolkit.CurrentEngine.Defaults.MessageDialog.InformationIcon  = ImageService.GetIcon("gtk-dialog-info", Gtk.IconSize.Dialog);
            Xwt.Toolkit.CurrentEngine.Defaults.MessageDialog.WarningIcon      = ImageService.GetIcon("gtk-dialog-warning", Gtk.IconSize.Dialog);
            Xwt.Toolkit.CurrentEngine.Defaults.MessageDialog.ErrorIcon        = ImageService.GetIcon("gtk-dialog-error", Gtk.IconSize.Dialog);
            Xwt.Toolkit.CurrentEngine.Defaults.MessageDialog.QuestionIcon     = ImageService.GetIcon("gtk-dialog-question", Gtk.IconSize.Dialog);
            Xwt.Toolkit.CurrentEngine.Defaults.MessageDialog.ConfirmationIcon = ImageService.GetIcon("gtk-dialog-question", Gtk.IconSize.Dialog);

            if (Platform.IsMac && UserInterfaceTheme == Theme.Dark)
            {
                // dark NSAppearance can not handle custom drawn images in dialogs
                Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.InformationIcon  = ImageService.GetIcon("gtk-dialog-info", Gtk.IconSize.Dialog).ToBitmap(GtkWorkarounds.GetScaleFactor());
                Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.WarningIcon      = ImageService.GetIcon("gtk-dialog-warning", Gtk.IconSize.Dialog).ToBitmap(GtkWorkarounds.GetScaleFactor());
                Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.ErrorIcon        = ImageService.GetIcon("gtk-dialog-error", Gtk.IconSize.Dialog).ToBitmap(GtkWorkarounds.GetScaleFactor());
                Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.QuestionIcon     = ImageService.GetIcon("gtk-dialog-question", Gtk.IconSize.Dialog).ToBitmap(GtkWorkarounds.GetScaleFactor());
                Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.ConfirmationIcon = ImageService.GetIcon("gtk-dialog-question", Gtk.IconSize.Dialog).ToBitmap(GtkWorkarounds.GetScaleFactor());
            }
            else
            {
                Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.InformationIcon  = ImageService.GetIcon("gtk-dialog-info", Gtk.IconSize.Dialog);
                Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.WarningIcon      = ImageService.GetIcon("gtk-dialog-warning", Gtk.IconSize.Dialog);
                Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.ErrorIcon        = ImageService.GetIcon("gtk-dialog-error", Gtk.IconSize.Dialog);
                Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.QuestionIcon     = ImageService.GetIcon("gtk-dialog-question", Gtk.IconSize.Dialog);
                Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.ConfirmationIcon = ImageService.GetIcon("gtk-dialog-question", Gtk.IconSize.Dialog);
            }

            Xwt.Toolkit.CurrentEngine.Defaults.FallbackLinkColor = Styles.LinkForegroundColor;
            Xwt.Toolkit.NativeEngine.Defaults.FallbackLinkColor  = Styles.LinkForegroundColor;
        }