Example #1
0
        public void Broadcast(Message message, Widget widget, params object[] args)
        {
            if ((int)message < 100)
            {
                gui.Dirty = true;
            }

            BroadcastMessage m = new BroadcastMessage()
            {
                messgae = message,
                widget  = widget,
                args    = args
            };

            handlers.ForEach(t => t(message, widget, args));

            foreach (var guiWidget in gui.widgets)
            {
                if (m.HasWidget)
                {
                    if (guiWidget.ID != m.widget.ID)
                    {
                        guiWidget.HandleMessageRecieved(m);
                    }
                }
                else
                {
                    guiWidget.HandleMessageRecieved(m);
                }
            }
        }
Example #2
0
 public override void HandleMessageRecieved(BroadcastMessage message)
 {
     if (message.messgae == Message.ModelImported)
     {
         Refresh();
     }
     else if (message.messgae == Message.ActiveModelChanged)
     {
         offsetindex     = 0;
         lastActiveIndex = 0;
     }
     else if (message.messgae == Message.ActiveMatrixChanged)
     {
         Select((int)message.args[1]);
     }
     base.HandleMessageRecieved(message);
 }
Example #3
0
        public override void HandleMessageRecieved(BroadcastMessage message)
        {
            if (message.messgae == Message.ModelImported)
            {
                selected = Singleton <QbManager> .INSTANCE.models.Count - 1;
                // we have a disabled tab not in use... so use it instead
                // of creating new new tab from the imported model
                // we still need to update though
                if (selected < tabs.Count)
                {
                    UpdateTabs();
                    return;
                }

                var tab = new QbModelTab(message.args[0] as QbModel);
                tab.handler = tabHandler;
                tabs.Add(tab);

                // hacks
                Client.OpenGLContextThread.Add(() =>
                {
                    tab.AddWidgets(Singleton <GUI> .INSTANCE);
                    UpdateTabs();
                });
            }
            else if (message.messgae == Message.ActiveModelChanged)
            {
                Singleton <Camera> .INSTANCE.LookAtModel();
            }
            else if (message.messgae == Message.ModelRemoved)
            {
                selected = selected < Singleton <QbManager> .INSTANCE.models.Count ? selected : Singleton <QbManager> .INSTANCE.models.Count - 1;
                UpdateTabs();
            }
            else if (message.messgae == Message.ModelRenamed)
            {
                UpdateTabs();
            }

            base.HandleMessageRecieved(message);
        }
Example #4
0
 public virtual void HandleMessageRecieved(BroadcastMessage message)
 {
     handler.messagerecived?.Invoke(this, message.messgae, message.widget, message.args);
 }