Ejemplo n.º 1
0
        public object this[int index]
        {
            get
            {
                /*AdapterItem ai = values[index];
                 * LGView gui = (LGView)LuaEngine.Instance.OnGuiEvent(this, LuaEngine.GuiEvents.GUI_EVENT_ADAPTERVIEW, par, index, ai.data, lastCreatedUI, mLc);
                 * ai.view = gui;
                 #if !NETFX_CORE //We don't need to clone ui on winrt
                 * lastCreatedUI = gui.Clone();
                 #endif
                 * return ai.view.GetView();*/

                AdapterItem ai = values[index];
#if !NETFX_CORE
                if (lastCreatedUI != null && lastCreatedIndex == index && ai.view != null)
                {
                    return(ai.view.GetView());
                }
#endif
                LGView gui = (LGView)LuaEngine.Instance.OnGuiEvent(this, LuaEngine.GuiEvents.GUI_EVENT_ADAPTERVIEW, par, index, ai.data, lastCreatedUI, mLc);
                ai.view       = gui;
                values[index] = ai;
#if !NETFX_CORE
                lastCreatedUI    = gui.Clone();
                lastCreatedIndex = index;
#endif
                return(ai.view.GetView());
            }
            set
            {
                throw new NotImplementedException();
            }
        }
Ejemplo n.º 2
0
 protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
 {
     base.OnNavigatedTo(e);
     LuaForm.navService = NavigationService;
     LuaForm.activeForm = this;
     if (FirstInit)
     {
         FirstInit = false;
     }
     else if (!mainPage)
     {
         luaId = NavigationContext.QueryString["luaId"];
         String initUI = NavigationContext.QueryString["ui"];
         if (initUI != "")
         {
             LuaViewInflator inflater = new LuaViewInflator(luaContext);
             this.view = inflater.ParseFile(initUI, null);
             Content   = view.GetView();
         }
         else
         {
             LuaEngine.Instance.OnGuiEvent(this, LuaEngine.GuiEvents.GUI_EVENT_CREATE, luaContext);
         }
     }
     LuaEngine.Instance.OnGuiEvent(this, LuaEngine.GuiEvents.GUI_EVENT_RESUME, luaContext);
 }
Ejemplo n.º 3
0
        public LuaForm()
        {
            InitializeComponent();
            LuaEngine luaEngine = LuaEngine.Instance;

            if (FirstInit)
            {
                mainPage   = true;
                luaContext = LuaContext.CreateLuaContext(this);
                luaEngine.Startup();
                luaId = luaEngine.GetMainForm();
                String initUI = luaEngine.GetMainUI();
                if (initUI != "")
                {
                    LuaViewInflator inflater = new LuaViewInflator(luaContext);
                    this.view = inflater.ParseFile(initUI, null);
                    Content   = view.GetView();
                }
                else
                {
                    luaEngine.OnGuiEvent(this, LuaEngine.GuiEvents.GUI_EVENT_CREATE, luaContext);
                }
            }
            else
            {
                luaContext = ContextQueue.Dequeue();
            }
        }
Ejemplo n.º 4
0
        public void SetViewXML(String xml)
        {
            LuaViewInflator inflater = new LuaViewInflator(luaContext);

            view    = inflater.ParseFile(xml, null);
            Content = view.GetView();
        }
Ejemplo n.º 5
0
 public override void Populate(LGView parent)
 {
     if (parent != null)
     {
         base.Populate(parent);
     }
     foreach (LGView w in subviews)
     {
         w.Populate(this);
     }
 }
Ejemplo n.º 6
0
 public LGView GetViewById(String lId)
 {
     if (GetId() != null && GetId() == lId)
     {
         return(this);
     }
     else
     {
         foreach (LGView w in subviews)
         {
             LGView wFound = w.GetViewById(lId);
             if (wFound != null)
             {
                 return(wFound);
             }
         }
     }
     return(null);
 }
Ejemplo n.º 7
0
 public virtual void Populate(LGView parent)
 {
     if (parent is LGScrollView)
     {
         ((ScrollViewer)parent.view).Content = view;
         if (!parent.IsLoaded)
         {
             LuaEngine.Instance.OnGuiEvent(parent, LuaEngine.GuiEvents.GUI_EVENT_CREATE, lc);
             parent.IsLoaded = true;
         }
     }
     else if (parent is LGLinearLayout)
     {
         ((LinearLayout)parent.view).Add(view);
         if (!parent.IsLoaded)
         {
             LuaEngine.Instance.OnGuiEvent(parent, LuaEngine.GuiEvents.GUI_EVENT_CREATE, lc);
             parent.IsLoaded = true;
         }
     }
 }
Ejemplo n.º 8
0
        public LGView Clone()
        {
            LGView ret = (LGView)MemberwiseClone();

            ret.lc       = lc;
            ret.luaId    = luaId;
            ret.subviews = new List <LGView>();
            foreach (LGView v in subviews)
            {
                ret.subviews.Add(v.Clone());
            }

            ret.Setup();
            ret.view = (FrameworkElement)LuaViewInflator.Clone(ret.view, view);
            if (ret.view.GetType() == typeof(LinearLayout))
            {
                LinearLayout ll = (LinearLayout)ret.view;
                foreach (LGView cloned in ret.subviews)
                {
                    ll.Add(cloned.view);
                }
            }
            return(ret);
        }
Ejemplo n.º 9
0
 public void SetView(LGView v)
 {
     view    = v;
     Content = v;
 }