Ejemplo n.º 1
0
 /// <summary>
 /// 执行秒表方法
 /// </summary>
 /// <param name="timerID">秒表ID</param>
 public void OnTimer(int timerID)
 {
     if (m_timerID == timerID)
     {
         if (m_task != null)
         {
             int runningState = m_task.RunningState;
             if (runningState != m_runningState)
             {
                 int    size       = m_task.GetSecurityInfosSize();
                 int    matchCount = m_task.MatchCount;
                 String title      = "条件选股";
                 if (runningState == -1)
                 {
                     if (size > 0)
                     {
                         title += " 符合条件数:(" + matchCount.ToString() + "/" + size.ToString() + ")";
                     }
                 }
                 else if (runningState == 0)
                 {
                     title += "(正在下载数据...)";
                 }
                 else
                 {
                     if (size > 0)
                     {
                         title += "(计算中,进度:" + runningState.ToString() + "/" + size.ToString() + ",符合数:" + matchCount.ToString() + ")";
                     }
                 }
                 if (runningState != m_runningState && runningState == -1)
                 {
                     List <GridColumn> columns      = m_gridFilterResult.GetColumns();
                     GridColumn        filterColumn = null;
                     int columnsSize = columns.Count;
                     for (int i = 0; i < columnsSize; i++)
                     {
                         if (columns[i].Name == "FILTER")
                         {
                             filterColumn = columns[i];
                             break;
                         }
                     }
                     if (filterColumn != null)
                     {
                         m_gridFilterResult.Sort(filterColumn, GridColumnSortMode.Desc);
                         m_gridFilterResult.Update();
                     }
                 }
                 m_window.Text  = title;
                 m_runningState = runningState;
                 m_window.Invalidate();
             }
         }
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 表格选中行改变方法
        /// </summary>
        public void OnGridSelectedRowsChanged()
        {
            String         layoutID         = "";
            List <GridRow> selectedRows     = m_gridLayouts.SelectedRows;
            int            selectedRowsSize = selectedRows.Count;

            if (selectedRowsSize > 0)
            {
                layoutID = selectedRows[0].GetCell(0).Text;
            }
            IndicatorLayout layout = new IndicatorLayout();

            m_indicatorLayoutService.GetLayoutByID(layoutID, ref layout);
            m_layout = layout;
            LoadLayout(m_layout);
            m_window.Invalidate();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 表格选中行改变方法
        /// </summary>
        public void OnGridSelectedRowsChanged()
        {
            String         macroID          = "";
            List <GridRow> selectedRows     = m_gridMacros.SelectedRows;
            int            selectedRowsSize = selectedRows.Count;

            if (selectedRowsSize > 0)
            {
                macroID = selectedRows[0].GetCell(0).Text;
            }
            Macro macro = new Macro();

            m_macroService.GetMacroByID(macroID, ref macro);
            m_macro = macro;
            LoadMacro(m_macro);
            m_window.Invalidate();
        }
Ejemplo n.º 4
0
 /// <summary>
 /// 表格选中行改变方法
 /// </summary>
 public void OnGridSelectedRowsChanged()
 {
     if (m_tvList != null)
     {
         String         indicatorID      = "";
         List <GridRow> selectedRows     = m_tvList.SelectedRows;
         int            selectedRowsSize = selectedRows.Count;
         if (selectedRowsSize > 0)
         {
             TreeNodeA node = selectedRows[0].GetCell(0) as TreeNodeA;
             indicatorID = node.Name;
         }
         Indicator indicator = new Indicator();
         m_indicatorService.GetIndicatorByID(indicatorID, ref indicator);
         m_indicator = indicator;
         LoadIndicator(m_indicator);
         m_window.Invalidate();
     }
 }
Ejemplo n.º 5
0
        /// <summary>
        /// 表格选中行改变方法
        /// </summary>
        public void OnGridSelectedRowsChanged()
        {
            String         templateID       = "";
            List <GridRow> selectedRows     = m_gridTemplate.SelectedRows;
            int            selectedRowsSize = selectedRows.Count;

            if (selectedRowsSize > 0)
            {
                templateID = selectedRows[0].GetCell(0).Text;
            }
            SecurityFilterTemplate template = new SecurityFilterTemplate();

            m_securityFilterService.GetTemplate(templateID, ref template);
            m_template = template;
            LoadTemplate(m_template);
            m_window.Invalidate();
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 把指定日期K线的高开低收数据设置到画面的数值控件上
        /// </summary>
        /// <param name="date">日期</param>
        private void SetSpinValue(double date)
        {
            ChartA chart      = m_chart.Chart;
            CTable dataSource = chart.DataSource;
            int    rowsCount  = dataSource.RowsCount;

            if (rowsCount > 0)
            {
                int index = dataSource.GetRowIndex(date);
                if (index < 1)
                {
                    index = rowsCount - 1;
                }
                SpinA  spinOpen   = GetSpin("txtOpen");
                SpinA  spinClose  = GetSpin("txtClose");
                SpinA  spinHigh   = GetSpin("txtHigh");
                SpinA  spinLow    = GetSpin("txtLow");
                SpinA  spinVolume = GetSpin("txtVolume");
                SpinA  spinAmount = GetSpin("txtAmount");
                LabelA lblDate    = GetLabel("lblDate");
                spinOpen.Value   = dataSource.Get2(index, KeyFields.OPEN_INDEX);
                spinClose.Value  = dataSource.Get2(index, KeyFields.CLOSE_INDEX);
                spinHigh.Value   = dataSource.Get2(index, KeyFields.HIGH_INDEX);
                spinLow.Value    = dataSource.Get2(index, KeyFields.LOW_INDEX);
                spinVolume.Value = dataSource.Get2(index, KeyFields.VOL_INDEX);
                spinAmount.Value = dataSource.Get2(index, KeyFields.AMOUNT_INDEX);
                DateTime dateTime = m_chart.Chart.ConvertNumToDate(date);
                int      m_cycle  = m_chart.Cycle;
                if (m_cycle <= 60)
                {
                    lblDate.Text = dateTime.ToString("yyyy-MM-dd HH:mm:ss");
                }
                else
                {
                    lblDate.Text = dateTime.ToString("yyyy-MM-dd");
                }
                m_window.Invalidate();
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 添加服务器
        /// </summary>
        private void AddServer()
        {
            ServerInfo serverInfo = new ServerInfo();

            serverInfo.m_id   = System.Guid.NewGuid().ToString();
            serverInfo.m_ip   = m_txtIP.Text;
            serverInfo.m_port = (int)m_spinPort.Value;
            serverInfo.m_type = m_cbType.Text;
            m_serverService.AddServer(serverInfo);
            List <ServerInfo> serverInfos = new List <ServerInfo>();

            serverInfos.Add(serverInfo);
            AddServersToGrid(serverInfos);
            serverInfos.Clear();
            BindServersToComboBox();
            m_window.Invalidate();
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 显示
        /// </summary>
        public override void Show()
        {
            UserCookieService cookieService = DataCenter.UserCookieService;
            UserCookie        cookie        = new UserCookie();

            if (cookieService.GetCookie("LOGININFO", ref cookie) > 0)
            {
                String[] strs = cookie.m_value.Split(',');
                if (strs.Length >= 2)
                {
                    TextBoxA txtUserName = GetTextBox("txtUserName");
                    TextBoxA txtPassword = GetTextBox("txtPassword");
                    txtUserName.Text = strs[0];
                    txtPassword.Text = strs[1];
                }
            }
            m_window.Location = new POINT(-m_window.Width, -m_window.Height);
            m_window.AnimateShow(true);
            m_window.Invalidate();
            m_sky      = new Sky();
            m_sky.Size = new SIZE(m_window.Width, 200);
            m_window.Frame.AddControl(m_sky);
            m_window.RegisterEvent(new ControlEvent(WindowLocationChanged), EVENTID.LOCATIONCHANGED);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 调用控件线程方法
        /// </summary>
        /// <param name="args">参数</param>
        public void OnInvoke(object args)
        {
            CMessage message = (CMessage)args;

            if (message.m_serviceID == m_quoteService.ServiceID)
            {
                LatestDataInfo            dataInfo = new LatestDataInfo();
                List <SecurityLatestData> datas    = new List <SecurityLatestData>();
                QuoteService.GetLatestDatas(ref dataInfo, datas, message.m_body, message.m_bodyLength);
                int datasSize = datas.Count;
                for (int i = 0; i < datasSize; i++)
                {
                    m_latestDatas[datas[i].m_securityCode] = datas[i];
                }
                datas.Clear();
            }
            else
            {
                List <UserSecurityCategory> categories = new List <UserSecurityCategory>();
                UserSecurityService.GetCategories(categories, message.m_body, message.m_bodyLength);
                UserSecurityCategory category = categories[0];
                switch (message.m_functionID)
                {
                case UserSecurityService.FUNCTIONID_USERSECURITY_ADDCATEGORIES:
                    AddCategoriesToCategoryGrid(categories);
                    break;

                case UserSecurityService.FUNCTIONID_USERSECURITY_DELETECATEGORIES:
                    RemoveCategoriesFromCategoryGrid(categories);
                    break;

                case UserSecurityService.FUNCTIONID_USERSECURITY_UPDATECATEGORIES:
                    UpdateCategoriesToCategoryGrid(categories);
                    break;

                case UserSecurityService.FUNCTIONID_USERSECURITY_ADDSECURITIES:
                case UserSecurityService.FUNCTIONID_USERSECURITY_DELETESECURITIES:
                {
                    String         categoryID       = "";
                    List <GridRow> selectedRows     = m_gridCategory.SelectedRows;
                    int            selectedRowsSize = selectedRows.Count;
                    if (selectedRowsSize > 0)
                    {
                        categoryID = selectedRows[0].GetCell(0).Text;
                    }
                    if (categoryID != null && categoryID == category.m_categoryID)
                    {
                        List <Security> securities = new List <Security>();
                        m_securityService.GetSecuritiesByCodes(category.m_codes, securities);
                        if (message.m_functionID == UserSecurityService.FUNCTIONID_USERSECURITY_ADDSECURITIES)
                        {
                            AddSecuritiesToSecuritiesGrid(securities);
                        }
                        else if (message.m_functionID == UserSecurityService.FUNCTIONID_USERSECURITY_DELETESECURITIES)
                        {
                            RemoveSecuritiesFromSecuritiesGrid(securities);
                        }
                    }
                    break;
                }
                }
            }
            m_window.Invalidate();
        }
Ejemplo n.º 10
0
 /// <summary>
 /// 显示
 /// </summary>
 public override void Show()
 {
     m_window.Location = new POINT(-m_window.Width, -m_window.Height);
     m_window.AnimateShow(false);
     m_window.Invalidate();
 }