Exemple #1
0
        /**************** 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;
 }
Exemple #7
0
 /**************** 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
 }