コード例 #1
0
ファイル: QbModelTabs.cs プロジェクト: law4x/stonevox3d
        public QbModelTabs()
            : base()
        {
            float height = Client.window.Qfont.fontData.maxGlyphHeight;
            height = height.ScaleVerticlSize();
            float vBorderOffset = -(3f).ScaleVerticlSize();
            float hBorderOffset = (3f).ScaleHorizontalSize();

            SetBoundsNoScaling(-1 , 1 - height *borderscale + vBorderOffset, 2, height *borderscale);

            appearence.AddAppearence("background", new PlainBackground(new Color4(100, 87, 61, 255)));
            appearence.AddAppearence("border", new PlainBorder(4, new Color4(122, 106, 70, 255)));

            tabs = new List<QbModelTab>();

            foreach (var model in Singleton<QbManager>.INSTANCE.models)
            {
                QbModelTab default_tab = new QbModelTab(model);
                tabHandler = new WidgetEventHandler()
                {
                    mousedownhandler = (e, mouse) =>
                    {
                        if (mouse.IsPressed && mouse.Button == OpenTK.Input.MouseButton.Left)
                        {
                            if (e is QbModelTab)
                            {
                                var tab = e as QbModelTab;
                                selected = tabs.IndexOf(tab);
                                Singleton<QbManager>.INSTANCE.ActiveModel = tab.model;

                            }
                            else if (e is Label)
                            {
                                var tab = e.customData["qbmodeltab"] as QbModelTab;
                                selected = tabs.IndexOf(tab);
                                Singleton<QbManager>.INSTANCE.ActiveModel = tab.model;
                            }
                            UpdateTabs();
                        }
                    }
                };
                default_tab.handler = tabHandler;
                tabs.Add(default_tab);
            }
            UpdateTabs();
        }
コード例 #2
0
        public QbModelTabs()
            : base()
        {
            float height = Client.window.Qfont.fontData.maxGlyphHeight;

            height = height.ScaleVerticlSize();
            float vBorderOffset = -(3f).ScaleVerticlSize();
            float hBorderOffset = (3f).ScaleHorizontalSize();

            SetBoundsNoScaling(-1, 1 - height * borderscale + vBorderOffset, 2, height * borderscale);

            appearence.AddAppearence("background", new PlainBackground(new Color4(100, 87, 61, 255)));
            appearence.AddAppearence("border", new PlainBorder(4, new Color4(122, 106, 70, 255)));

            tabs = new List <QbModelTab>();

            foreach (var model in Singleton <QbManager> .INSTANCE.models)
            {
                QbModelTab default_tab = new QbModelTab(model);
                tabHandler = new WidgetEventHandler()
                {
                    mousedownhandler = (e, mouse) =>
                    {
                        if (mouse.IsPressed && mouse.Button == OpenTK.Input.MouseButton.Left)
                        {
                            if (e is QbModelTab)
                            {
                                var tab = e as QbModelTab;
                                selected = tabs.IndexOf(tab);
                                Singleton <QbManager> .INSTANCE.ActiveModel = tab.model;
                            }
                            else if (e is Label)
                            {
                                var tab = e.customData["qbmodeltab"] as QbModelTab;
                                selected = tabs.IndexOf(tab);
                                Singleton <QbManager> .INSTANCE.ActiveModel = tab.model;
                            }
                            UpdateTabs();
                        }
                    }
                };
                default_tab.handler = tabHandler;
                tabs.Add(default_tab);
            }
            UpdateTabs();
        }
コード例 #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);
        }
コード例 #4
0
ファイル: QbModelTabs.cs プロジェクト: law4x/stonevox3d
        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);
        }