亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mediator.cs

?? 經典著作。關于設計模式。全名Introduction to Design Patterns in C# Code.zip。探討C#中的模式問題。
?? CS
字號:
using System;
using System.Windows.Forms;
using System.Drawing ;
using System.Collections ;
namespace State
{
	/// <summary>
	/// Summary description for Mediator.
	/// </summary>
	public class Mediator 	{
		private bool startRect;
		private int selectedIndex;
		private RectButton rectb;
		private bool dSelected;
		private ArrayList drawings;
		private ArrayList undoList;
		private RectButton rButton;
		private FillButton filButton;
		private CircleButton circButton;
	    private PickButton arrowButton;
		private PictureBox canvas;
		private int selectedDrawing;
		private StateManager stMgr;
		//-----
		public Mediator(PictureBox pic) 		{
			startRect = false;
			dSelected = false;
			drawings = new ArrayList();
			undoList = new ArrayList();
			stMgr = new StateManager(this);
			canvas = pic;
			selectedDrawing = -1;
		}
		//-----
		public void startRectangle() {
			stMgr.setRect();
			arrowButton.setSelected(false);
			circButton.setSelected(false);
			filButton.setSelected(false);
		}
		//-----
		public void startCircle() {
			stMgr.setCircle();
			rectb.setSelected(false);
			arrowButton.setSelected(false);
			filButton.setSelected(false);
		}
		//------
		public void startFill() {
			stMgr.setFill();
			rectb.setSelected(false);
			circButton.setSelected(false);
			arrowButton.setSelected(false);
			if (selectedDrawing >= 0) {
				stMgr.selectOne(getDrawing(selectedDrawing));
				FillMemento m = new FillMemento(selectedDrawing, this);
				undoList.Add(m);
			}
        repaint();
		}
		//-----
		public void startArrow() {
			stMgr.setArrow();
			rectb.setSelected(false);
			circButton.setSelected(false);
			filButton.setSelected(false);
		}
		//------
		public Drawing getSelected() {
			return (Drawing)drawings[selectedDrawing];
		}
		//-----
		public void setSelected(int index) {
			dSelected = true;
			selectedDrawing = index;
			Drawing d = getDrawing(index);
			d.setSelected(true);
			repaint();
		}
		//-----
		public void fillSelected() {
			if (dSelected) {
            Drawing d = (Drawing)drawings[selectedDrawing];
            d.setFill(true);
            FillMemento m = new FillMemento(selectedDrawing, this);
			undoList.Add(m);
			}
		}
		//-----
		public void undo() {
			rectb.setSelected(false);
			circButton.setSelected(false);
			arrowButton.setSelected(false);
        
			if (undoList.Count > 0) {
				//get last element in undo list
				object obj = undoList[undoList.Count - 1];
				undoList.RemoveAt(undoList.Count - 1);
				//get the Memento
				Memento m = (Memento)obj;
				m.restore();   //and restore the old position
				repaint();
			}
		}
		//-----
		public ArrayList getDrawings() {
			return drawings;
		}
		public Drawing getDrawing(int a ) {
			if(a < drawings.Count )
				return (Drawing) drawings[a];
			else
				return null;
		}
		//-----
		public void addDrawing(Drawing d) {
			drawings.Add (d);
			DrawInstance intc = new DrawInstance(drawings.Count-1, this);
			undoList.Add(intc);
		}
		public void clear() {
			drawings = new ArrayList();
			undoList = new ArrayList();
			dSelected = false;
			selectedDrawing = 0;
			repaint();
		}
		//-----
		public void unpick() {
			 dSelected = false;
			if (selectedDrawing >= 0) {
				Drawing d = getDrawing(selectedDrawing);
				if (d != null) {
					d.setSelected(false);
				}
				selectedDrawing = -1;
				repaint();
			}
		}
		//-----
		private void repaint() {
			canvas.Refresh ();
		}
		public void registerRectButton(RectButton rb) {
			rectb = rb;
		}
		public void registerFillButton(FillButton fb) {
			filButton = fb;
		}
		public void registerArrowButton (PickButton ab) {
			arrowButton = ab;
		}
		public void registerCircleButton(CircleButton cb) {
			circButton = cb;
		}
		//-----
		public void removeDrawing(int a) {
			drawings.RemoveAt (a);
		}
		//-----
		public int findDrawing(int x, int y ) {
			int i = 0;
			bool found = false;
        int index = -1;
			while (i < drawings.Count && ! found) {
				Drawing d = getDrawing(i);
				if (d.contains(x, y)) {
					index = i;
					found = true;
				}
				i++;
			}
        return index;
		}
		//-----
		public void rememberPosition() {
			if (dSelected) {
				Drawing d  = (Drawing)drawings[selectedDrawing];
				Memento m = new DrawMemento (d);
				undoList.Add (m);
			}
		}
		//-----
		public void mouseUp(int x, int y) {
			stMgr.mouseUp (x, y);
		}
		public void mouseDown(int x, int y ) {
			stMgr.mouseDown (x, y);
			repaint();
		}
		public void mouseDrag(int x, int y) {
			stMgr.mouseDrag (x, y);
			repaint();
		}
		//-----
		public void reDraw(Graphics g) {
			
			foreach(object obj in drawings) {
				Drawing d = (Drawing)obj;
				d.draw(g);
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
男女性色大片免费观看一区二区| 亚洲欧美日韩国产中文在线| 在线视频国内自拍亚洲视频| 成人黄色免费短视频| 国产乱一区二区| 成人丝袜18视频在线观看| 国产一区二区三区免费| 久久99国产精品久久| 麻豆久久久久久久| 狠狠色综合播放一区二区| 国内精品久久久久影院一蜜桃| 久久精品国产网站| 国产一区亚洲一区| 成人做爰69片免费看网站| 91黄色激情网站| 欧美日本在线一区| 日韩午夜在线影院| 精品福利在线导航| 国产精品网站在线播放| 亚洲人快播电影网| 日韩在线一区二区| 国产一区二区主播在线| 成人av网站免费观看| 91美女视频网站| 欧美美女一区二区在线观看| 欧美zozo另类异族| 综合久久久久久久| 午夜精品久久久久| 国产真实乱偷精品视频免| 99视频一区二区三区| 欧美熟乱第一页| 精品免费视频.| 亚洲女子a中天字幕| 另类人妖一区二区av| 91麻豆.com| 日韩精品资源二区在线| 亚洲女爱视频在线| 麻豆精品视频在线观看| 色综合天天综合| 久久综合久久综合久久综合| 久久久久久久久伊人| 亚洲综合在线第一页| 另类小说综合欧美亚洲| 色综合天天综合色综合av | 国产iv一区二区三区| 91网上在线视频| 精品av综合导航| 天堂在线一区二区| 色视频欧美一区二区三区| 精品久久一区二区| 亚洲国产日韩一区二区| 国产91富婆露脸刺激对白| 欧美精品vⅰdeose4hd| 椎名由奈av一区二区三区| 久久99蜜桃精品| 欧美精品欧美精品系列| 一区二区三区在线视频免费 | 97精品视频在线观看自产线路二| 日韩一区二区影院| 亚洲第一福利视频在线| 色婷婷综合在线| 国产精品全国免费观看高清| 精品亚洲国内自在自线福利| 欧美三级韩国三级日本一级| 亚洲欧洲美洲综合色网| 国产福利一区在线| 精品捆绑美女sm三区| 毛片av一区二区三区| 欧美一级xxx| 日本欧美一区二区| 91精品国产黑色紧身裤美女| 亚洲成av人**亚洲成av**| 色噜噜偷拍精品综合在线| 亚洲欧洲一区二区三区| 欧美日韩精品综合在线| 亚洲国产日日夜夜| 欧美精品久久一区二区三区| 午夜在线成人av| 欧美疯狂做受xxxx富婆| 日日摸夜夜添夜夜添精品视频| 欧美中文字幕亚洲一区二区va在线| 亚洲另类春色国产| 色老汉一区二区三区| 一级精品视频在线观看宜春院 | 国产一区视频在线看| www国产精品av| 国产成人一级电影| 中文字幕一区二区在线播放| 91农村精品一区二区在线| 日韩理论片一区二区| 91色乱码一区二区三区| 性久久久久久久久久久久| 91精品国产91热久久久做人人| 亚洲成av人**亚洲成av**| 日韩欧美视频在线| 国产999精品久久久久久| 亚洲人成电影网站色mp4| 欧美亚洲另类激情小说| 日韩av在线发布| 国产欧美一区二区精品婷婷| 99精品在线免费| 97久久超碰国产精品电影| 亚洲成人一区在线| 精品国产污污免费网站入口| 成人午夜私人影院| 亚洲午夜在线视频| 精品卡一卡二卡三卡四在线| 99久久综合精品| 蜜乳av一区二区三区| 国产精品美女一区二区| 91精品国产综合久久国产大片| 韩国三级中文字幕hd久久精品| 国产精品久久久久久久久晋中| 欧美视频一区二区三区四区| 国内不卡的二区三区中文字幕 | 欧美日韩精品一区二区三区| 蜜臀精品久久久久久蜜臀| 中文字幕欧美国产| 91精品国产一区二区人妖| av电影天堂一区二区在线观看| 日韩激情中文字幕| 亚洲特黄一级片| 精品国内二区三区| 欧美日韩国产bt| 91视频你懂的| 国产精品18久久久久久久久| 亚洲国产视频一区二区| 亚洲欧洲三级电影| 欧美精品一区二区三区蜜臀| 欧美日韩在线直播| 色综合视频在线观看| 国产激情一区二区三区四区| 美国毛片一区二区| 亚洲午夜电影在线观看| 国产精品护士白丝一区av| 久久蜜桃av一区二区天堂| 555夜色666亚洲国产免| 欧洲av在线精品| 91在线一区二区| 国产ts人妖一区二区| 国产精品亚洲一区二区三区在线| 舔着乳尖日韩一区| 一区二区三区精品视频在线| 中文字幕在线一区免费| 亚洲国产电影在线观看| 亚洲444eee在线观看| 伊人色综合久久天天人手人婷| 国产精品丝袜久久久久久app| 久久久久亚洲蜜桃| 久久久国产午夜精品| 久久综合久久综合久久| 精品欧美乱码久久久久久| 欧美va日韩va| 久久综合九色欧美综合狠狠| 欧美精品一区二区在线播放| 26uuu精品一区二区| 久久亚洲一区二区三区四区| 欧美精品一区二区三区在线 | 国产成人av网站| 国产精品自拍一区| 成人午夜电影网站| 成人h动漫精品一区二区| www.亚洲国产| 91国偷自产一区二区三区成为亚洲经典| 99国产精品一区| 欧美亚洲综合一区| 91麻豆精品国产91久久久 | 亚洲一区在线视频观看| 亚洲午夜日本在线观看| 天天综合日日夜夜精品| 极品销魂美女一区二区三区| 国产ts人妖一区二区| 91小视频在线| 91麻豆精品国产91久久久使用方法| 欧美成人video| 国产精品私人影院| 午夜精品久久久久久久| 国内精品久久久久影院色| 成人高清视频在线| 欧美精品一级二级| 国产精品拍天天在线| 亚洲一区国产视频| 精品午夜一区二区三区在线观看| 丁香婷婷综合五月| 欧美三级日韩三级| 久久人人超碰精品| 亚洲自拍与偷拍| 国产一区二区福利视频| 精品视频一区二区三区免费| www国产成人免费观看视频 深夜成人网| 国产精品久久久久影院老司| 日韩高清一区在线| 91理论电影在线观看| 日韩精品一区二区三区在线播放| 国产精品久久久久桃色tv| 看片网站欧美日韩| 在线看一区二区| 欧美国产乱子伦| 捆绑调教美女网站视频一区| 在线一区二区观看|