示例#1
0
    private void SelectionChanged()
    {
        bool first = true;

        toggling = true;
        string nextimage = "";

        foreach (Tile tile in Selection)
        {
            if (first)
            {
                SolidCheckButton.Active    = tile.HasAttribute(Attribute.SOLID);
                UniSolidCheckButton.Active = tile.HasAttribute(Attribute.UNISOLID);
                IceCheckButton.Active      = tile.HasAttribute(Attribute.ICE);
                WaterCheckButton.Active    = tile.HasAttribute(Attribute.WATER);
                HurtsCheckButton.Active    = tile.HasAttribute(Attribute.HURTS);
                FireCheckButton.Active     = tile.HasAttribute(Attribute.FIRE);
                BrickCheckButton.Active    = tile.HasAttribute(Attribute.BRICK);
                CoinCheckButton.Active     = tile.HasAttribute(Attribute.COIN);
                FullBoxCheckButton.Active  = tile.HasAttribute(Attribute.FULLBOX);
                SlopeCheckButton.Active    = tile.HasAttribute(Attribute.SLOPE);
                GoalCheckButton.Active     = tile.HasAttribute(Attribute.GOAL);
                HiddenCheckButton.Active   = tile.Hidden;
                DontUseCheckButton.Active  = tile.ID == -1;
                DataEntry.Text             = tile.Data.ToString();
                AnimFpsEntry.Text          = tile.AnimFps.ToString();
                IDEntry.Text       = tile.ID.ToString();
                IDEntry.IsEditable = true;
                first = false;

                if (tile.Images.Count > 0)
                {
                    nextimage = ((ImageRegion)tile.Images[0]).ImageFile;
                }
            }
            else
            {
                IDEntry.Text      += "," + tile.ID.ToString();
                IDEntry.IsEditable = false;
                if (tile.Images.Count > 0 &&
                    ((ImageRegion)tile.Images[0]).ImageFile != nextimage)
                {
                    nextimage = "";
                    pixbuf    = null;
                }
            }
        }
        if (nextimage != currentimage)
        {
            ChangeImage(nextimage);
        }
        toggling = false;
        DrawingArea.QueueDraw();
    }
示例#2
0
        ///<summary>Force a complete redraw of the view</summary>
        public void Redraw()
        {
            if (!widgetRealized)
            {
                return;
            }

            Gdk.Rectangle alloc = drawingArea.Allocation;
            Resize(alloc.Width, alloc.Height);
            layout.AreaGroup.Invalidate();
            drawingArea.QueueDraw();
        }
示例#3
0
    private void SelectionChanged()
    {
        bool first = true;

        toggling = true;
        string nextimage = "";

        foreach (Tile tile in Selection)
        {
            if (first)
            {
                SolidCheckButton.Active    = tile.Solid;
                UniSolidCheckButton.Active = tile.UniSolid;
                IceCheckButton.Active      = tile.Ice;
                WaterCheckButton.Active    = tile.Water;
                SlopeCheckButton.Active    = tile.Slope;
                HiddenCheckButton.Active   = tile.Hidden;
                DontUseCheckButton.Active  = tile.ID == -1;
                DataEntry.Text             = tile.Data.ToString();
                AnimFpsEntry.Text          = tile.AnimFps.ToString();
                IDEntry.Text     = tile.ID.ToString();
                IDEntry.Editable = true;
                first            = false;

                if (tile.Images.Count > 0)
                {
                    nextimage = ((ImageRegion)tile.Images[0]).ImageFile;
                }
            }
            else
            {
                IDEntry.Text    += "," + tile.ID.ToString();
                IDEntry.Editable = false;
                if (tile.Images.Count > 0 &&
                    ((ImageRegion)tile.Images[0]).ImageFile != nextimage)
                {
                    nextimage = "";
                    pixbuf    = null;
                }
            }
        }
        if (nextimage != currentimage)
        {
            ChangeImage(nextimage);
        }
        toggling = false;
        DrawingArea.QueueDraw();
    }
示例#4
0
    /*
     *
     * DRAWINGAREA
     *
     */


    public static void ErasePaint(Gtk.DrawingArea da, Gdk.Pixmap px)
    {
        px.DrawRectangle(da.Style.WhiteGC, true, 0, 0, da.Allocation.Width, da.Allocation.Height);
        da.QueueDraw();         // -- refresh
    }