From: Tay R. C. <rc...@us...> - 2005-07-26 10:48:48
|
Update of /cvsroot/actionstep/actionstep/src/org/actionstep In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24992/actionstep/org/actionstep Modified Files: ASAlertPanel.as Log Message: added comments, reworked icon-img drawing Index: ASAlertPanel.as =================================================================== RCS file: /cvsroot/actionstep/actionstep/src/org/actionstep/ASAlertPanel.as,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** ASAlertPanel.as 26 Jul 2005 10:46:44 -0000 1.12 --- ASAlertPanel.as 26 Jul 2005 10:48:39 -0000 1.13 *************** *** 35,39 **** import org.actionstep.NSView; import org.actionstep.NSFont; ! //import org.actionstep.NSImage; import org.actionstep.NSSize; import org.actionstep.NSPoint; --- 35,39 ---- import org.actionstep.NSView; import org.actionstep.NSFont; ! import org.actionstep.NSImage; import org.actionstep.NSSize; import org.actionstep.NSPoint; *************** *** 45,50 **** private static var m_app:NSApplication ! private static var m_defTitle:String="Alert"; ! ; private static var m_standardAlertPanel:ASAlertPanel; private static var m_informationalAlertPanel:ASAlertPanel; --- 45,51 ---- private static var m_app:NSApplication ! private static var m_defTitle:String ! private static var m_ico:NSImage; ! private static var m_standardAlertPanel:ASAlertPanel; private static var m_informationalAlertPanel:ASAlertPanel; *************** *** 54,58 **** private var m_alt:NSButton; private var m_oth:NSButton; ! private var m_ico:NSButton; private var m_btns:Array; --- 55,59 ---- private var m_alt:NSButton; private var m_oth:NSButton; ! private var m_ico_mc:MovieClip; private var m_btns:Array; *************** *** 88,92 **** public function init():ASAlertPanel { - //super.init(); var rect:NSRect = NSRect.ZeroRect; initWithContentRectStyleMask(rect, NSTitledWindowMask); --- 89,92 ---- *************** *** 97,115 **** m_result = NSAlertReturn.NSError; - //Icon will never change position var content:NSView = contentView(); ! //image is screwed ! //var image:NSImage = NSImage.imageNamed("ASAlertIcon"); ! var isize:NSSize = new NSSize(64, 64); ! rect.reset(IconLeft, IconTop, isize.width, isize.height); ! m_ico = (new NSButton()).initWithFrame(rect); ! m_ico.setBordered(false); ! //m_ico.setImagePosition(NSCellImagePosition.NSImageOnly); ! //m_ico.setImage(image); ! m_ico.setTitle("Ico"); ! TRACE(m_ico); ! TRACE(content); ! TRACE(content.subviews()); ! content.addSubview(m_ico); //position will be set later --- 97,107 ---- m_result = NSAlertReturn.NSError; var content:NSView = contentView(); ! ! if(m_ico==null) { ! m_ico = (new NSImage()).init(); ! m_ico.setName("ASAlertIcon"); ! m_ico.addRepresentation(new org.actionstep.images.ASAlertIconRep()); ! } //position will be set later *************** *** 121,131 **** m_btns = [m_def, m_alt, m_oth]; ! if(g_init==null) { m_app = NSApplication.sharedApplication(); WinPos = new NSPoint(100, 100); ! WinSize = new NSSize(MsgWidth+isize.width+IconLeft+IconRight+BtnRight, 200); MessageFont = NSFont.systemFontOfSize(14); g_init = true; } setFrame(rect); return this; --- 113,126 ---- m_btns = [m_def, m_alt, m_oth]; ! if(g_init==null) { //do it once only m_app = NSApplication.sharedApplication(); + m_defTitle ="Alert"; WinPos = new NSPoint(100, 100); ! WinSize = new NSSize(MsgWidth+m_ico.size.width+IconLeft+IconRight+BtnRight, 200); MessageFont = NSFont.systemFontOfSize(14); g_init = true; } + + //resize window setFrame(rect); return this; *************** *** 135,142 **** var rect:NSRect = NSRect.ZeroRect; if(m_msgField==null) { //assume that m_infoField is also null var fmt:TextFormat = MessageFont.textFormat(); //position will be set later ! rect.origin.x = m_ico.frame().maxX() + IconRight; rect.origin.y = IconTop; rect.size.width = MsgWidth --- 130,149 ---- var rect:NSRect = NSRect.ZeroRect; + if(m_ico_mc==null) { //create the icon + var mc = contentView().mcBounds() + m_ico_mc = mc.createEmptyMovieClip("m_ico_mc", mc.getNextHighestDepth()); + m_ico.lockFocus(m_ico_mc); + m_ico.drawAtPoint(NSPoint.ZeroPoint); + m_ico.unlockFocus(); + m_ico_mc._x = IconLeft; + m_ico_mc._y = IconTop; + m_ico_mc._width = m_ico.size().width; + m_ico_mc._height = m_ico.size().height; + } + if(m_msgField==null) { //assume that m_infoField is also null var fmt:TextFormat = MessageFont.textFormat(); //position will be set later ! rect.origin.x = m_ico_mc._width + m_ico_mc._x + IconRight; rect.origin.y = IconTop; rect.size.width = MsgWidth *************** *** 158,163 **** w+=btn.frame().size.width; } ! w+= BtnInterspace * (m_btns.length-1) + IconLeft + BtnRight; if(w>m_msgField._width+m_msgField._x+BtnRight) { m_msgField._width = w-m_msgField._x-BtnRight; --- 165,173 ---- w+=btn.frame().size.width; } ! ! //w is now width of window w+= BtnInterspace * (m_btns.length-1) + IconLeft + BtnRight; + + //resize fields if needed if(w>m_msgField._width+m_msgField._x+BtnRight) { m_msgField._width = w-m_msgField._x-BtnRight; *************** *** 165,175 **** } m_infoField._y = m_msgField._height+m_msgField._y+InfoTop; - var pt:NSPoint = new NSPoint(0, m_infoField._y+m_infoField._height+BtnTop); ! var icoy = m_ico.frame().maxY()+BtnTop ! if(pt.y<icoy) pt.y = icoy; ! w-=IconLeft-m_ico.frame().size.width+BtnRight for(i=0;i<3;i++) { btn = m_btns[i]; --- 175,191 ---- } + //position info tf m_infoField._y = m_msgField._height+m_msgField._y+InfoTop; ! //pt is temp var for btn-pos setting ! var pt:NSPoint = new NSPoint(0, m_infoField._y+m_infoField._height+BtnTop); ! ! //see if icoy is bigger than info's max-y (see pt.y) ! var icoy = m_ico_mc._height + m_ico_mc._y + BtnTop ! if(pt.y<icoy) ! pt.y = icoy; ! //offset first, then loop to set pos ! w-=IconLeft-m_ico_mc._width+BtnRight for(i=0;i<3;i++) { btn = m_btns[i]; *************** *** 180,184 **** } ! //resize window rect.origin = WinPos.copy(); rect.size.width = m_msgField._width + m_msgField._x + BtnRight; --- 196,200 ---- } ! //resize window -- unfortunately, no setFrameSize rect.origin = WinPos.copy(); rect.size.width = m_msgField._width + m_msgField._x + BtnRight; *************** *** 201,205 **** --- 217,223 ---- var content:NSView = contentView(); var mc:MovieClip = content.mcBounds(); + //location is not impt + //non-editable, selectable, fixed-width mc.createTextField(title, mc.getNextHighestDepth(), rect.origin.x, rect.origin.y, rect.size.width, rect.size.height); var txt:TextField = mc[title] *************** *** 208,212 **** txt.wordWrap = true; txt.autoSize = true; - txt.border = true; return txt; --- 226,229 ---- *************** *** 236,240 **** public function isActivePanel():Boolean { return m_app.modalWindow() == this - //return true; } --- 253,256 ---- *************** *** 247,256 **** } ! private function $modal(res) { var x = m_callback, y=m_selector; x[y].call(x, res); } ! //macro private static function useControl(control:NSView):Boolean { return (control.superview()!=null) --- 263,272 ---- } ! private function __modal(res) { var x = m_callback, y=m_selector; x[y].call(x, res); } ! //macro from gnustep private static function useControl(control:NSView):Boolean { return (control.superview()!=null) |