Example #1
0
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            Thickness  margin = (Thickness)value;
            MarginData data   = new MarginData();

            data.LEFT   = margin.Left;
            data.TOP    = margin.Top;
            data.RIGHT  = margin.Right;
            data.BOTTON = margin.Bottom;
            return(data);
        }
Example #2
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            MarginData data   = (MarginData)value;
            Thickness  margin = new Thickness();

            margin.Left   = data.LEFT;
            margin.Top    = data.TOP;
            margin.Right  = data.RIGHT;
            margin.Bottom = data.BOTTON;
            return(data);
        }
        private MarginData CreateMarginData(Settings.Setting setting, Settings.Account account, Settings.Instrument instrument, DateTime tradeDay)
        {
            var        tradePolicyDetail = setting.GetTradePolicyDetail(instrument.Id, account.TradePolicyId, tradeDay);
            MarginData marginData        = new MarginData();

            marginData.AccountId     = account.Id;
            marginData.InstrumentId  = instrument.Id;
            marginData.CurrencyId    = account.IsMultiCurrency ? instrument.CurrencyId : account.CurrencyId;
            marginData.MarginFormula = (int)instrument.MarginFormula;
            marginData.TradePolicyId = tradePolicyDetail.TradePolicy.ID;
            return(marginData);
        }
Example #4
0
        public Rectangle FindInnerMargin(Rectangle windowSize, int buffer)
        {
            Rectangle retval = Rectangle.Empty;

            MarginData margins = FindMargins();

            retval.X      = buffer + (int)margins.left;
            retval.Y      = buffer + (int)margins.top;
            retval.Width  = (int)(windowSize.Width - (margins.right + buffer));
            retval.Height = (int)(windowSize.Height - (margins.bottom + buffer));

            return(retval);
        }
Example #5
0
        private void InitializeItems()
        {
            ISession session = DBSessionFactory.Instance.OpenSession();
            List <ManagedSecurity> activeUNLList = session.Query <ManagedSecurity>().Where(contract => contract.IsActive && contract.OptionChain).ToList();

            MarginDataDic = new Dictionary <string, MarginData>();
            foreach (var symbol in UnlSymbolList)
            {
                var marginData      = new MarginData(symbol);
                var managedSecurity = activeUNLList.FirstOrDefault(unl => unl.Symbol == symbol);
                if (managedSecurity != null)
                {
                    marginData.MarginMaxAllowed = managedSecurity.MarginMaxAllowed;
                }

                MarginDataDic[symbol] = marginData;
            }
        }
Example #6
0
        /// <summary>
        /// Retrieve the margin inside the window that this WindowBorder will draw in.
        /// </summary>
        /// <returns>A Vector4 containing margins as follows: X = top/North, Y = right/East, Z = bottom/South, W = left/West</returns>
        private MarginData FindMargins()
        {
            MarginData retval = new MarginData();

            if (this.pipingTop != null)
            {
                retval.top = pipingTop.Height;
            }
            else
            {
                retval.top = 0;
            }
            if (this.pipingRight != null)
            {
                retval.right = pipingRight.Width;
            }
            else
            {
                retval.right = 0;
            }
            if (this.pipingBottom != null)
            {
                retval.bottom = pipingBottom.Height;
            }
            else
            {
                retval.bottom = 0;
            }
            if (this.pipingLeft != null)
            {
                retval.left = pipingLeft.Width;
            }
            else
            {
                retval.left = 0;
            }
            return(retval);
        }
Example #7
0
        internal void InternalDraw(LayoutUserInterface ui)
        {
            var bounds = ScreenBounds;

            MarginData?margins           = null;
            int        closeButtonHeight = 0;

            if (DrawCloseButton)
            {
                closeButtonHeight = ui.IMGUI.ApplyScale(ui.DefaultFontSize + 3);
                margins           = new MarginData(10, 10, 10, 20 + closeButtonHeight);
            }

            ui.PanelContext(bounds, PanelType, margins);

            if (!string.IsNullOrWhiteSpace(Title))
            {
                ui.Anchor   = Anchor.Centered;
                ui.FontSize = 56;
                ui.Label(Title, Color.LightSkyBlue);
                ui.FontSize = ui.DefaultFontSize;
                ui.Anchor   = Anchor.Vertical;
            }

            Draw(ui);

            if (DrawCloseButton)
            {
                var exteriorBounds = ui.GetContextBounds(); // Should be same as Window.ScreenBounds.
                var mar            = ui.GetContextMargins();
                if (ui.IMGUI.Button(new Rectangle(exteriorBounds.X + mar.Left, exteriorBounds.Bottom - 10 - closeButtonHeight, exteriorBounds.Width - mar.Left - mar.Right, closeButtonHeight), "Close"))
                {
                    Close();
                }
            }

            ui.EndContext();
        }
Example #8
0
        /// <summary>
        /// Draws the border. Piping is drawn first, with corners drawn afterward.
        /// </summary>
        /// <param name="sb">A SpriteBatch that has already had "SpriteBatch.Begin" called.</param>
        /// <param name="TextureDimensions">The dimensions of the window texture.</param>
        public virtual void Draw(SpriteBatch sb, Rectangle TextureDimensions)
        {
            MarginData margins = FindMargins();

            int nextY = (int)margins.top;

            while (nextY < (TextureDimensions.Height - margins.bottom))
            {
                sb.Draw(this.pipingLeft, new Vector2(0, nextY), Color.White);
                nextY += this.pipingLeft.Height;
            }
            nextY = (int)margins.top;
            while (nextY < (TextureDimensions.Height - margins.bottom))
            {
                sb.Draw(this.pipingRight, new Vector2((TextureDimensions.Width - margins.right), nextY), Color.White);
                nextY += this.pipingRight.Height;
            }
            int nextX = (int)margins.left;

            while (nextX < (TextureDimensions.Width - margins.right))
            {
                sb.Draw(this.pipingTop, new Vector2(nextX, 0), Color.White);
                nextX += this.pipingTop.Width;
            }
            nextX = (int)margins.left;
            while (nextX < (TextureDimensions.Width - margins.right))
            {
                sb.Draw(this.pipingBottom, new Vector2(nextX, (TextureDimensions.Height - margins.bottom)), Color.White);
                nextX += this.pipingBottom.Width;
            }

            sb.Draw(this.cornerUpLf, Vector2.Zero, Color.White);
            sb.Draw(this.cornerUpRt, new Vector2((TextureDimensions.Width - margins.right), 0), Color.White);
            sb.Draw(this.cornerLoLf, new Vector2(0, (TextureDimensions.Height - margins.bottom)), Color.White);
            sb.Draw(this.cornerLoRt, new Vector2((TextureDimensions.Width - margins.right), (TextureDimensions.Height - margins.bottom)), Color.White);
        }
        private void CalculateInstrumentMarginData(Settings.Setting setting, Settings.Account account, Settings.Instrument instrument, DateTime tradeDay, MarginData marginData)
        {
            var tradePolicyDetail = setting.GetTradePolicyDetail(instrument.Id, account.TradePolicyId, tradeDay);

            marginData.Margin            += account.RateMarginO * tradePolicyDetail.MarginO;
            marginData.MarginLocked      += account.RateMarginLockO * tradePolicyDetail.MarginLockedO;
            marginData.MarginNight       += account.RateMarginO * tradePolicyDetail.MarginO;
            marginData.MarginNightLocked += account.RateMarginLockO * tradePolicyDetail.MarginLockedO;
        }