Exemplo n.º 1
0
        /// <summary>
        /// Initializes the strategy field
        /// </summary>
        public StrategyLayout(Strategy strategy)
        {
            SlotPropertiesTipText = Language.T("Averaging, Trading size, Protection.");
            SlotToolTipText       = Language.T("Long position logic.");
            ShowRemoveSlotButtons = true;
            ShowAddSlotButtons    = true;
            _strategy             = strategy;
            _slots             = strategy.Slots;
            SlotMinMidMax      = SlotSizeMinMidMax.mid;
            FlowLayoutStrategy = new FlowLayoutPanel();
            VScrollBarStrategy = new VScrollBar();
            SlotPanelsList     = new ContextPanel[_slots];
            PanelProperties    = new Panel();

            for (int slot = 0; slot < _slots; slot++)
            {
                SlotPanelsList[slot] = new ContextPanel();
            }

            // FlowLayoutStrategy
            FlowLayoutStrategy.Parent     = this;
            FlowLayoutStrategy.AutoScroll = false;

            //VScrollBarStrategy
            VScrollBarStrategy.Parent  = this;
            VScrollBarStrategy.TabStop = true;
            VScrollBarStrategy.Scroll += VScrollBarStrategyScroll;

            if (ShowAddSlotButtons)
            {
                var toolTip = new ToolTip();
                ButtonAddOpenFilter = new Button
                {
                    Tag    = strategy.OpenSlot,
                    Text   = Language.T("Add an Opening Logic Condition"),
                    Margin = new Padding(30, 0, 0, Space),
                    UseVisualStyleBackColor = true
                };
                toolTip.SetToolTip(ButtonAddOpenFilter, Language.T("Add a new entry logic slot to the strategy."));

                ButtonAddCloseFilter = new Button
                {
                    Tag    = strategy.CloseSlot,
                    Text   = Language.T("Add a Closing Logic Condition"),
                    Margin = new Padding(30, 0, 0, Space),
                    UseVisualStyleBackColor = true
                };
                toolTip.SetToolTip(ButtonAddCloseFilter, Language.T("Add a new exit logic slot to the strategy."));

                BtnClosingFilterHelp = new Button
                {
                    Image   = Resources.info,
                    Margin  = new Padding(2, 2, 0, Space),
                    TabStop = false
                };
                BtnClosingFilterHelp.Click += BtnClosingFilterHelpClick;
                BtnClosingFilterHelp.UseVisualStyleBackColor = true;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        ///     Initializes the strategy slots
        /// </summary>
        private void InitializeStrategySlots()
        {
            SlotPanelsList = new ContextPanel[slots];
            var toolTip = new ToolTip();

            // Strategy properties panel
            PanelProperties = new Panel {
                Cursor = Cursors.Hand, Tag = 100, Margin = new Padding(0, 0, 0, Space)
            };
            PanelProperties.Paint  += PnlPropertiesPaint;
            PanelProperties.Resize += PnlSlotResize;
            toolTip.SetToolTip(PanelProperties, SlotPropertiesTipText);


            // Slot panels settings
            for (int slot = 0; slot < slots; slot++)
            {
                SlotPanelsList[slot] = new ContextPanel
                {
                    Cursor = Cursors.Hand,
                    Tag    = slot,
                    Margin = new Padding(0, 0, 0, Space)
                };
                SlotPanelsList[slot].Paint  += PnlSlotPaint;
                SlotPanelsList[slot].Resize += PnlSlotResize;
                toolTip.SetToolTip(SlotPanelsList[slot], SlotToolTipText);

                if (ShowRemoveSlotButtons && slot != strategy.OpenSlot && slot != strategy.CloseSlot)
                {
                    SlotPanelsList[slot].CloseButton.Tag = slot;
                    toolTip.SetToolTip(SlotPanelsList[slot].CloseButton, Language.T("Discard the logic condition."));
                }
            }

            // Ads the controls to the flow layout
            pnlStrategy.Controls.Add(PanelProperties);
            for (int slot = 0; slot < slots; slot++)
            {
                if (ShowAddSlotButtons && slot == strategy.CloseSlot)
                {
                    pnlStrategy.Controls.Add(ButtonAddOpenFilter);
                }
                pnlStrategy.Controls.Add(SlotPanelsList[slot]);
            }
            if (ShowAddSlotButtons)
            {
                pnlStrategy.Controls.Add(ButtonAddCloseFilter);
                pnlStrategy.Controls.Add(btnClosingFilterHelp);
            }
        }
    public void SetCategory(StoreCategory category)
    {
        if (_categoryText.text != category.CategoryName)
        {
            _categoryText.DOText(category.CategoryName, 0.5f, true, ScrambleMode.Lowercase);
        }

        if (_currentCategoryPanel != null)
        {
            if (_currentCategoryPanel != category.CategoryPanel)
            {
                _currentCategoryPanel.HidePanel();
            }

            category.CategoryPanel.ShowPanel();
        }
        else
        {
            category.CategoryPanel.ShowPanel();
        }

        _currentCategoryPanel = category.CategoryPanel;
    }
Exemplo n.º 4
0
 protected virtual void Start()
 {
     _contextPanel = FindObjectOfType <ContextPanel>();
     _button.onClick.AddListener(onClick);
 }