/**************** Iframe build ****************/ /// <summary> /// Create the frame width a panel and a iframe /// </summary> private Control BuildFrameCtrl(Frame f, string frameIdHash) { Panel pn = new Panel(); OptionItems oi = new OptionItems(f.Options); if (_pageType.ToLower().Trim() == "free_draw") { pn.Style.Add("position", "absolute"); pn.Style.Add("top", f.Y + "px"); pn.Style.Add("left", f.X + "px"); } pn.Style.Add("margin", "0"); pn.Style.Add("padding", "0"); pn.Style.Add("border", "0"); pn.Width = Unit.Pixel(f.Width); pn.Height = Unit.Pixel(f.Height); pn.BackColor = Color.Transparent; // ------ Border ------ pn = Views.Frames.GenericFrameSettings.FrameBorderStyle( pn, oi.GetList("frame_style") ); // -------------------- HtmlObjects iframe = new HtmlObjects("iframe"); iframe.Id = frameIdHash; iframe.AddStyle("border", "0"); iframe.AddAttribute("scrolling", f.Scroll); iframe.AddAttribute("width", f.Width + "px"); iframe.AddAttribute("height", f.Height + "px"); iframe.AddAttribute("src", _options.Get(f.FrameType).URL + "?fm=" + frameIdHash); pn.Controls.Add(iframe.GetObject); // for now its just to tell client that this frame is slave of some filter. LoadFrameInfoToClient( f.ID.ToString(CultureInfo.InvariantCulture), frameIdHash, oi.GetSingle("master_filter") ); return pn; }
/* Database operations */ /* Insert */ public void Add(Frame f) { try { using (_db) { CheckPageStatus(f); _db.Frame.InsertOnSubmit(f); Commit(); SelectObjectsFromDb(); } } catch (Exception ex) { throw new Exception("error: inserting new frame with title " + f.Title + " - " + ex.Message + " ..."); } }
private Frame Copy(Frame f, int newPageId) { try { using (_db) { Frame fNew = new Frame(); fNew.IDPage = newPageId; fNew.FrameType = f.FrameType; fNew.Height = f.Height; fNew.Width = f.Width; fNew.LastUpd = f.LastUpd; fNew.Options = f.Options; fNew.Scroll = f.Scroll; fNew.Title = f.Title; fNew.X = f.X; fNew.Y = f.Y; fNew.IsActive = f.IsActive; fNew.ScheduleInterval = f.ScheduleInterval; return fNew; } } catch (Exception ex) { throw ex; } }
private void CheckPageStatus(Frame f) { try { if (f.Page == null && f.IDPage >= 0) { f.Page = _db.Page.Single(x => x.ID == f.IDPage); } else if (f.IDPage < 0) { throw new Exception("no page selected"); } } catch (Exception ex) { throw new Exception("error in page id " + f.IDPage + " - " + ex.Message); } }
private void Frame_Detach(Frame entity) { this.SendPropertyChanging(); entity.Page = null; }
private void Frame_Attach(Frame entity) { this.SendPropertyChanging(); entity.Page = this; }
/**************** Send data from page to frame ****************/ /// <summary> /// Load the session variable with the frame to be used in the frame... /// </summary> /// <param name="frameId"></param> /// <param name="frame"></param> private void SetSessionFrame(string frameId, Frame frame) { Views.Frames.frame_sessions.SetFrame(frameId, frame); // set session variable to be used in frame page }