コード例 #1
0
ファイル: PadCodon.cs プロジェクト: gAdrev/monodevelop
 public PadCodon(IPadContent content, string id, string label, string defaultPlacement, DockItemStatus defaultStatus, string icon)
 {
     this.id               = id;
     this.content          = content;
     this.label            = label;
     this.defaultPlacement = defaultPlacement;
     this.icon             = icon;
     this.defaultStatus    = defaultStatus;
 }
コード例 #2
0
ファイル: DockFrame.cs プロジェクト: rdafoe/Cage
        internal void SetDockLocation(DockItem item, string placement)
        {
            bool           vis  = item.Visible;
            DockItemStatus stat = item.Status;

            item.ResetMode();
            container.Layout.RemoveItemRec(item);
            AddItemAtLocation(container.Layout, item, placement, vis, stat);
        }
コード例 #3
0
ファイル: MainWindow.cs プロジェクト: yuluos/CocoStudio2.0.6
        private void AddPad(PadCodon padCodon, string placement, DockItemStatus defaultStatus)
        {
            PadWindow window = new PadWindow((IWorkbench)this, padCodon);

            window.Icon = padCodon.Icon;
            this.padWindows[padCodon]          = (IPadWindow)window;
            this.padCodons[(IPadWindow)window] = padCodon;
            window.StatusChanged += new EventHandler(this.UpdatePad);
            string   dockLocation = this.ToDockLocation(placement);
            DockItem item         = this.dock.AddItem(padCodon.PadId);

            item.Label             = LanguageOption.GetValueBykey(padCodon.Label);
            item.DefaultLocation   = dockLocation;
            item.DefaultVisible    = false;
            item.DefaultStatus     = defaultStatus;
            item.DockLabelProvider = (IDockItemLabelProvider)padCodon;
            window.Item            = item;
            if (padCodon.Initialized)
            {
                this.CreatePadContent(true, padCodon, window, item);
            }
            else
            {
                item.ContentRequired += (EventHandler)((param0, param1) => this.CreatePadContent(false, padCodon, window, item));
            }
            item.VisibleChanged += (EventHandler)((param0, param1) =>
            {
                if (item.Visible)
                {
                    window.NotifyShown();
                }
                else
                {
                    window.NotifyHidden();
                }
            });
            item.ContentVisibleChanged += (EventHandler)((param0, param1) =>
            {
                if (item.ContentVisible)
                {
                    window.NotifyContentShown();
                }
                else
                {
                    window.NotifyContentHidden();
                }
            });
            if (this.padContentCollection.Contains(padCodon))
            {
                return;
            }
            this.padContentCollection.Add(padCodon);
        }
コード例 #4
0
ファイル: DockFrame.cs プロジェクト: rdafoe/Cage
        internal void SetStatus(DockItem item, DockItemStatus status)
        {
            DockGroupItem gitem = container.FindDockGroupItem(item.Id);

            if (gitem == null)
            {
                item.DefaultStatus = status;
                return;
            }
            gitem.StoreAllocation();
            gitem.Status = status;
            container.RelayoutWidgets();
        }
コード例 #5
0
        internal override void Read(XmlReader reader)
        {
            base.Read(reader);
            visibleFlag = bool.Parse(reader.GetAttribute("visible")) && !item.IsPositionMarker;
            status      = (DockItemStatus)Enum.Parse(typeof(DockItemStatus), reader.GetAttribute("status"));
            int    fx = 0, fy = 0, fw = 0, fh = 0;
            string s = reader.GetAttribute("floatX");

            if (s != null)
            {
                fx = int.Parse(s);
            }
            s = reader.GetAttribute("floatY");
            if (s != null)
            {
                fy = int.Parse(s);
            }
            s = reader.GetAttribute("floatWidth");
            if (s != null)
            {
                fw = int.Parse(s);
            }
            s = reader.GetAttribute("floatHeight");
            if (s != null)
            {
                fh = int.Parse(s);
            }
            s = reader.GetAttribute("autoHidePosition");
            if (s != null)
            {
                barDocPosition = (PositionType)Enum.Parse(typeof(PositionType), s);
            }
            s = reader.GetAttribute("autoHideSize");
            if (s != null)
            {
                autoHideSize = int.Parse(s);
            }
            floatRect = new Gdk.Rectangle(fx, fy, fw, fh);
        }
コード例 #6
0
ファイル: DockFrame.cs プロジェクト: kdubau/monodevelop
		DockGroupItem AddItemAtLocation (DockGroup grp, DockItem it, string location, bool visible, DockItemStatus status)
		{
			string[] positions = location.Split (';');
			foreach (string pos in positions) {
				int i = pos.IndexOf ('/');
				if (i == -1) continue;
				string id = pos.Substring (0,i).Trim ();
				DockGroup g = grp.FindGroupContaining (id);
				if (g != null) {
					DockPosition dpos;
					try {
						dpos = (DockPosition) Enum.Parse (typeof(DockPosition), pos.Substring(i+1).Trim(), true);
					}
					catch {
						continue;
					}
					DockGroupItem dgt = g.AddObject (it, dpos, id);
					dgt.SetVisible (visible);
					dgt.Status = status;
					return dgt;
				}
			}
			return null;
		}
コード例 #7
0
ファイル: DockFrame.cs プロジェクト: kdubau/monodevelop
		internal void SetStatus (DockItem item, DockItemStatus status)
		{
			DockGroupItem gitem = container.FindDockGroupItem (item.Id);
			if (gitem == null) {
				item.DefaultStatus = status;
				return;
			}
			gitem.StoreAllocation ();
			gitem.Status = status;
			container.RelayoutWidgets ();
		}
コード例 #8
0
        void AddPad(PadCodon padCodon, string placement, DockItemStatus defaultStatus)
        {
            RegisterPad (padCodon);

            PadWindow window = new PadWindow (this, padCodon);
            window.Icon = padCodon.Icon;
            padWindows [padCodon] = window;
            padCodons [window] = padCodon;

            window.StatusChanged += new EventHandler (UpdatePad);

            string location = ToDockLocation (placement);

            DockItem item = dock.AddItem (padCodon.PadId);
            item.Label = GettextCatalog.GetString (padCodon.Label);
            item.Icon = ImageService.GetIcon (padCodon.Icon).WithSize (IconSize.Menu);
            item.DefaultLocation = location;
            item.DefaultVisible = false;
            item.DefaultStatus = defaultStatus;
            item.DockLabelProvider = padCodon;
            window.Item = item;

            if (padCodon.Initialized) {
                CreatePadContent (true, padCodon, window, item);
            } else {
                item.ContentRequired += delegate {
                    CreatePadContent (false, padCodon, window, item);
                };
            }

            item.VisibleChanged += delegate {
                if (item.Visible)
                    window.NotifyShown ();
                else
                    window.NotifyHidden ();
            };

            item.ContentVisibleChanged += delegate {
                if (item.ContentVisible)
                    window.NotifyContentShown ();
                else
                    window.NotifyContentHidden ();
            };
        }
コード例 #9
0
ファイル: DockFrame.cs プロジェクト: rdafoe/Cage
 DockGroupItem AddItemAtLocation(DockGroup grp, DockItem it, string location, bool visible, DockItemStatus status)
 {
     string[] positions = location.Split(';');
     foreach (string pos in positions)
     {
         int i = pos.IndexOf('/');
         if (i == -1)
         {
             continue;
         }
         string    id = pos.Substring(0, i).Trim();
         DockGroup g  = grp.FindGroupContaining(id);
         if (g != null)
         {
             DockPosition dpos;
             try {
                 dpos = (DockPosition)Enum.Parse(typeof(DockPosition), pos.Substring(i + 1).Trim(), true);
             }
             catch {
                 continue;
             }
             DockGroupItem dgt = g.AddObject(it, dpos, id);
             dgt.SetVisible(visible);
             dgt.Status = status;
             return(dgt);
         }
     }
     return(null);
 }
コード例 #10
0
ファイル: DockGroupItem.cs プロジェクト: msiyer/Pinta
		internal override void Read (XmlReader reader)
		{
			base.Read (reader);
			visibleFlag = bool.Parse (reader.GetAttribute ("visible")) && !item.IsPositionMarker;
			status = (DockItemStatus) Enum.Parse (typeof (DockItemStatus), reader.GetAttribute ("status"));
			int fx=0, fy=0, fw=0, fh=0;
			string s = reader.GetAttribute ("floatX");
			if (s != null)
				fx = int.Parse (s);
			s = reader.GetAttribute ("floatY");
			if (s != null)
				fy = int.Parse (s);
			s = reader.GetAttribute ("floatWidth");
			if (s != null)
				fw = int.Parse (s);
			s = reader.GetAttribute ("floatHeight");
			if (s != null)
				fh = int.Parse (s);
			s = reader.GetAttribute ("autoHidePosition");
			if (s != null)
				barDocPosition = (PositionType) Enum.Parse (typeof (PositionType), s);
			s = reader.GetAttribute ("autoHideSize");
			if (s != null)
				autoHideSize = int.Parse (s);
			floatRect = new Gdk.Rectangle (fx, fy, fw, fh);
		}
コード例 #11
0
ファイル: Workbench.cs プロジェクト: Redth/monodevelop-1
 public Pad ShowPad(PadContent padContent, string id, string label, string defaultPlacement, DockItemStatus defaultStatus, IconId icon)
 {
     return(ShowPad(new PadCodon(padContent, id, label, defaultPlacement, defaultStatus, icon)));
 }
コード例 #12
0
		public PadCodon (IPadContent content, string id, string label, string defaultPlacement, DockItemStatus defaultStatus, string icon)
		{
			this.id               = id;
			this.content          = content;
			this.label            = label;
			this.defaultPlacement = defaultPlacement;
			this.icon             = icon;
			this.defaultStatus    = defaultStatus;
		}