本文整理汇总了C#中CellRendererState类的典型用法代码示例。如果您正苦于以下问题:C# CellRendererState类的具体用法?C# CellRendererState怎么用?C# CellRendererState使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
CellRendererState类属于命名空间,在下文中一共展示了CellRendererState类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Render
protected override void Render (Gdk.Drawable window, Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, CellRendererState flags)
{
base.Render (window, widget, background_area, cell_area, expose_area, flags);
if (PackageSourceViewModel == null)
return;
using (var layout = new Pango.Layout (widget.PangoContext)) {
layout.Alignment = Pango.Alignment.Left;
layout.SetMarkup (GetPackageSourceNameMarkup ());
int packageSourceNameWidth = GetLayoutWidth (layout);
StateType state = GetState (widget, flags);
layout.SetMarkup (GetPackageSourceDescriptionMarkup ());
window.DrawLayout (widget.Style.TextGC (state), cell_area.X + textSpacing, cell_area.Y + textTopSpacing, layout);
if (!PackageSourceViewModel.IsValid) {
using (var ctx = Gdk.CairoHelper.Create (window)) {
ctx.DrawImage (widget, warningImage, cell_area.X + textSpacing + packageSourceNameWidth + imageSpacing, cell_area.Y + textTopSpacing);
}
layout.SetMarkup (GetPackageSourceErrorMarkup ());
int packageSourceErrorTextX = cell_area.X + textSpacing + packageSourceNameWidth + (int)warningImage.Width + (2 * imageSpacing);
window.DrawLayout (widget.Style.TextGC (state), packageSourceErrorTextX, cell_area.Y + textTopSpacing, layout);
}
}
}
示例2: Render
protected override void Render (Gdk.Drawable window, Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, CellRendererState state)
{
if (Theme == null) {
Theme = Hyena.Gui.Theming.ThemeEngine.CreateTheme (widget);
Theme.Context.Radius = 3;
}
Context cr = Gdk.CairoHelper.Create (window);
// Setup the drawing boundaries/positioning
cr.Rectangle (cell_area.X, cell_area.Y, cell_area.Width, cell_area.Height);
cr.Clip ();
cr.Translate (cell_area.X, cell_area.Y);
// Clear any existing drawing
cr.Rectangle (0, 0, cell_area.Width, cell_area.Height);
cr.Color = Theme.ViewFill;
cr.Fill ();
if (state == CellRendererState.Selected) {
Theme.DrawRowSelection (cr, 0, 0, cell_area.Width, cell_area.Height, true);
} else if (state == CellRendererState.Focused) {
Theme.DrawRowSelection (cr, 0, 0, cell_area.Width, cell_area.Height, false);
}
var border = Theme.TotalBorderWidth;
cr.Translate (border, border);
var width = cell_area.Width - 2 * border;
var height = cell_area.Height - 2 * border;
Render (cr, width, height, state);
Hyena.Gui.CairoExtensions.DisposeContext (cr);
}
示例3: OnRender
protected override void OnRender (Cairo.Context cr, Widget widget, Rectangle background_area, Rectangle cell_area, CellRendererState flags)
{
int x = (int) (cell_area.X + this.Xpad);
int y = (int) (cell_area.Y + this.Ypad);
int width = (int) (cell_area.Width - this.Xpad * 2);
int height = (int) (cell_area.Height - this.Ypad * 2);
widget.StyleContext.Save ();
widget.StyleContext.AddClass ("trough");
widget.StyleContext.RenderBackground (cr, x, y, width, height);
widget.StyleContext.RenderFrame (cr, x, y, width, height);
Border padding = widget.StyleContext.GetPadding (StateFlags.Normal);
x += padding.Left;
y += padding.Top;
width -= padding.Left + padding.Right;
height -= padding.Top + padding.Bottom;
widget.StyleContext.Restore ();
widget.StyleContext.Save ();
widget.StyleContext.AddClass ("progressbar");
widget.StyleContext.RenderActivity (cr, x, y, (int) (width * Percentage), height);
widget.StyleContext.Restore ();
}
示例4: Render
protected override void Render (Drawable window, Widget widget, Rectangle background_area, Rectangle cell_area, Rectangle expose_area, CellRendererState flags)
{
int width = 0, height = 0, x_offset = 0, y_offset = 0;
StateType state;
GetSize (widget, ref cell_area, out x_offset, out y_offset, out width, out height);
if (widget.HasFocus)
state = StateType.Active;
else
state = StateType.Normal;
width -= (int) this.Xpad * 2;
height -= (int) this.Ypad * 2;
//FIXME: Style.PaintBox needs some customization so that if you pass it
//a Gdk.Rectangle.Zero it gives a clipping area big enough to draw
//everything
Gdk.Rectangle clipping_area = new Gdk.Rectangle ((int) (cell_area.X + x_offset + this.Xpad), (int) (cell_area.Y + y_offset + this.Ypad), width - 1, height - 1);
Style.PaintBox (widget.Style, (Gdk.Window) window, StateType.Normal, ShadowType.In, clipping_area, widget, "trough", (int) (cell_area.X + x_offset + this.Xpad), (int) (cell_area.Y + y_offset + this.Ypad), width - 1, height - 1);
Gdk.Rectangle clipping_area2 = new Gdk.Rectangle ((int) (cell_area.X + x_offset + this.Xpad), (int) (cell_area.Y + y_offset + this.Ypad), (int) (width * Percentage), height - 1);
Style.PaintBox (widget.Style, (Gdk.Window) window, state, ShadowType.Out, clipping_area2, widget, "bar", (int) (cell_area.X + x_offset + this.Xpad), (int) (cell_area.Y + y_offset + this.Ypad), (int) (width * Percentage), height - 1);
}
示例5: Render
protected override void Render (Gdk.Drawable window, Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, CellRendererState flags)
{
using (Cairo.Context gr = Gdk.CairoHelper.Create (window)) {
gr.Rectangle (cell_area.X, cell_area.Y, cell_area.Width, cell_area.Height);
gr.Color = (HslColor)widget.Style.Base ((flags & CellRendererState.Selected) == CellRendererState.Selected ? StateType.Selected : StateType.Normal);
gr.Fill ();
var size = Math.Max (0, cell_area.Width - cell_area.Width * Time / 100.0);
var linearGradient = new LinearGradient (cell_area.X, cell_area.Y, cell_area.Right, cell_area.Bottom);
linearGradient.AddColorStop (0, new Cairo.Color (1, 0, 0));
linearGradient.AddColorStop (1, new Cairo.Color (1, 1, 1));
gr.Pattern = linearGradient;
gr.Rectangle (cell_area.X + size, cell_area.Y + 2, cell_area.Width - size, cell_area.Height - 4);
gr.Fill ();
var layout = gr.CreateLayout ();
layout.FontDescription = widget.PangoContext.FontDescription;
layout.SetText (string.Format ("{0:0.0}", Time));
int w, h;
layout.GetPixelSize (out w, out h);
gr.MoveTo (cell_area.X + cell_area.Width - 2 - w, cell_area.Y + (cell_area.Height - h) / 2);
gr.Color = new Cairo.Color (0, 0, 0);
gr.ShowLayout (layout);
layout.Dispose ();
}
}
示例6: Render
protected override void Render (Gdk.Drawable window, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, CellRendererState flags)
{
using (var cr = Gdk.CairoHelper.Create (window)) {
cr.Rectangle (background_area.X, background_area.Y, background_area.Width, background_area.Height);
cr.Clip ();
OnRender (cr, widget, background_area, cell_area, flags);
}
}
示例7: StartEditing
public override CellEditable StartEditing (Gdk.Event ev, Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, CellRendererState flags)
{
this.path = path;
//combo.Combobox.Entry.Text = Text;
return new TreeViewCellContainer (combo);
}
示例8: OnRender
protected override void OnRender (Cairo.Context cr, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, CellRendererState flags)
{
if (image.IsNull)
return;
var pix = ((GtkImage)image.Backend);
pix.Draw (Context, cr, Util.GetScaleFactor (widget), cell_area.X, cell_area.Y, image);
}
示例9: StartEditing
public ICellEditable StartEditing (Widget widget, Gdk.Event evnt, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, CellRendererState flags)
{
IntPtr native = GLib.Marshaller.StringToPtrGStrdup (path);
IntPtr raw_ret = gtk_cell_renderer_start_editing (Handle, evnt != null ? evnt.Handle : IntPtr.Zero, widget.Handle, native, ref background_area, ref cell_area, (int) flags);
GLib.Marshaller.Free (native);
var ret = (ICellEditable) GLib.Object.GetObject (raw_ret);
return ret;
}
示例10: GetState
StateType GetState (Widget widget, CellRendererState flags)
{
if (flags.HasFlag (CellRendererState.Selected)) {
if (widget.IsFocus) {
return StateType.Selected;
}
return StateType.Active;
}
return StateType.Normal;
}
示例11: DrawItemEventArgs
public DrawItemEventArgs( int ItemIndex, Gdk.Drawable window, Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, CellRendererState flags )
{
this.itemIndex = ItemIndex;
this.drawable = window;
this.widget = widget;
this.backgroundArea = background_area;
this.cellArea = cell_area;
this.exposeArea = expose_area;
this.cellFlags = flags;
}
示例12: OnRender
protected override void OnRender (Cairo.Context cr, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, CellRendererState flags)
{
if (image.IsNull)
return;
var pix = ((GtkImage)image.Backend);
int x_offset, y_offset, width, height;
OnGetSize (widget, ref cell_area, out x_offset, out y_offset, out width, out height);
pix.Draw (Context, cr, Util.GetScaleFactor (widget), cell_area.X + x_offset, cell_area.Y + y_offset, image);
}
示例13: StartEditing
public override CellEditable StartEditing(Gdk.Event evnt, Widget widget,
string path, Gdk.Rectangle background_area,
Gdk.Rectangle cell_area, CellRendererState flags)
{
try {
if (evnt.Type == Gdk.EventType.ButtonPress)
OnClicked (EventArgs.Empty);
} catch (Exception ex) {
GLib.ExceptionManager.RaiseUnhandledException (ex, false);
}
return base.StartEditing (evnt, widget, path, background_area, cell_area, flags);
}
示例14: StartEditing
public override CellEditable StartEditing (Gdk.Event ev, Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, CellRendererState flags)
{
this.path = path;
Gtk.ComboBox combo = Gtk.ComboBox.NewText ();
foreach (string s in values)
combo.AppendText (s);
combo.Active = Array.IndexOf (values, Text);
combo.Changed += new EventHandler (SelectionChanged);
return new TreeViewCellContainer (combo);
}
示例15: GetState
static StateType GetState (Widget widget, CellRendererState flags)
{
StateType stateType = StateType.Normal;
if ((flags & CellRendererState.Prelit) != 0)
stateType = StateType.Prelight;
if ((flags & CellRendererState.Focused) != 0)
stateType = StateType.Normal;
if ((flags & CellRendererState.Insensitive) != 0)
stateType = StateType.Insensitive;
if ((flags & CellRendererState.Selected) != 0)
stateType = widget.HasFocus ? StateType.Selected : StateType.Active;
return stateType;
}