Exemple #1
0
        public FileGadget(Gadget parent, IFileResolver fileResolver)
            : base(parent)
        {
            this.fileResolver = fileResolver;
            layout            = new BoxLayout(Orientation.Vertical, Alignment.Fill);
            table             = new TableGadget(this)
            {
                EvenColumns = false,
                SelectedCellChangedEvent = (o, i) => { TableSelectedChanged(); }
            };
            table.AddColumn("Name", -1);
            table.AddColumn("Size", 64);
            table.AddColumn("Date", 130);
            table.AddColumn("Comment", 140);
            var dirBox = new BoxGadget(this, Orientation.Horizontal, Alignment.Fill);

            new LabelGadget(dirBox, "Drawer")
            {
                FixedWidth = 100
            };
            dirName = new StrGadget(dirBox)
            {
                FixedWidth = 300
            };

            var fileBox = new BoxGadget(this, Orientation.Horizontal, Alignment.Fill);

            new LabelGadget(fileBox, "File")
            {
                FixedWidth = 100
            };
            fileName = new StrGadget(fileBox)
            {
                FixedWidth = 300
            };
            var buttonBox = new BoxGadget(this, Orientation.Horizontal, Alignment.Fill, 0, 100);

            butOk = new ButtonGadget(buttonBox, "Open")
            {
                GadgetUpEvent = (o, i) => { Ok(); }
            };
            butVolumes = new ButtonGadget(buttonBox, "Volumes")
            {
                GadgetUpEvent = (o, i) => { Volumes(); }
            };
            butParent = new ButtonGadget(buttonBox, "Parent")
            {
                GadgetUpEvent = (o, i) => { GoToParent(); }
            };
            butCancel = new ButtonGadget(buttonBox, "Cancel")
            {
                GadgetUpEvent = (o, i) => { Cancel(); }
            };
        }
Exemple #2
0
        public void RenderGadget(IGraphics gfx, StrGadget gadget)
        {
            var frame  = gadget.Bounds;
            var lFrame = gadget.LabelBounds;
            var cFrame = gadget.ContainerBounds;

            if (!string.IsNullOrEmpty(gadget.Label))
            {
                gfx.RenderText(gadget.Font, gadget.Label, lFrame.CenterX, lFrame.CenterY, gadget.MouseSelected ? SelectedTextPen : TextPen);
            }
            DrawBox(gfx, cFrame, ShadowPen, ShinePen);
            string buffer   = gadget.Buffer + " ";
            int    lineSkip = 20;

            if (!string.IsNullOrEmpty(buffer))
            {
                gfx.SaveState();
                gfx.SetClip(cFrame.X, cFrame.Y, cFrame.Width, cFrame.Height);
                cFrame.Inflate(-2, -2);
                int  x        = cFrame.X;
                int  y        = cFrame.Y;
                bool selected = false;
                for (int i = 0; i < buffer.Length; i++)
                {
                    var c = buffer[i];

                    selected = (i >= gadget.BufferSelStart && i < gadget.BufferSelEnd);
                    if (selected)
                    {
                        gfx.RenderText(gadget.Font, "" + c, x, y, SelectedTextPen, GadgetSelectedPen, HorizontalTextAlign.Left, VerticalTextAlign.Top);
                    }
                    else
                    {
                        gfx.RenderText(gadget.Font, "" + c, x, y, TextPen, HorizontalTextAlign.Left, VerticalTextAlign.Top);
                    }
                    if (i == gadget.BufferPos) // drawCursor
                    {
                        if (gadget.Focused)
                        {
                            gfx.DrawLine(x, y, x, y + lineSkip - 1, TextPen);
                        }
                    }
                    int ax = gfx.MeasureTextWidth(gadget.Font, "" + c);
                    x += ax;
                }
                gfx.RestoreState();
            }
        }
Exemple #3
0
 public NumericalGadget(Gadget parent)
     : base(parent)
 {
     increment = 0.1;
     strGadget = new StrGadget(this)
     {
         Flags         = StrFlags.Double,
         GadgetUpEvent = (o, i) => { OnGadgetUp(); }
     };
     upGadget = new ButtonGadget(this, Icons.ENTYPO_ICON_PLUS)
     {
         Repeat        = true,
         Width         = BUT_SIZE,
         Height        = BUT_SIZE,
         GadgetUpEvent = (o, i) => { IncValue(); }
     };
     downGadget = new ButtonGadget(this, Icons.ENTYPO_ICON_MINUS)
     {
         Repeat        = true,
         Width         = BUT_SIZE,
         Height        = BUT_SIZE,
         GadgetUpEvent = (o, i) => { DecValue(); }
     };
 }