Beispiel #1
0
    void SortByFlag(ref List<Model> list, SortFlag sortFlag)
    {
        switch (sortFlag)
        {
            case SortFlag.noneFlag: return;

            case SortFlag.sortByStartTime:
                list.Sort(delegate (Model x, Model y)
                {
                    if (x.startMakeTime == null && y.startMakeTime == null) return 0;
                    else if (x.startMakeTime == null) return -1;
                    else if (y.startMakeTime == null) return 1;
                    else return x.startMakeTime.CompareTo(y.startMakeTime);
                });
                break;

            case SortFlag.sortByName:
                list.Sort(delegate (Model x, Model y)
                {
                    if (x.modelName == null && y.modelName == null) return 0;
                    else if (x.modelName == null) return -1;
                    else if (y.modelName == null) return 1;
                    else return x.modelName.CompareTo(y.modelName);
                });
                break;
        }
    }
Beispiel #2
0
            /// <summary>
            /// Sort the current GameSet
            /// </summary>
            /// <param name="flag">Sorting flags</param>
            /// <param name="ascending">If true, sort by ascending order, otherwise sort by descending</param>
            /// <param name="noArticle">If true and doing alpha sort, ignore articles in the names</param>
            /// <returns>List of sorted games</returns>
            public List <int> SortGames(SortFlag flag, bool ascending, bool noArticle)
            {
                // TODO. all, fav, new, hidden games
                // TODO. ignore article
                List <int> outGameIDs = new();

                m_qryGameSort.MakeFieldsNull();
                m_qryGameSort.PlatformFK = Platform; // Using current platform

                // Create the order by condition
                string orderByString = " ORDER BY ";
                int    used          = 0;

                foreach (SortFlag i in Enum.GetValues(typeof(SortFlag)))
                {
                    if ((flag & i) > 0)
                    {
                        orderByString += CExtensions.GetDescription(i);
                        if (!ascending)
                        {
                            orderByString += " DESC, ";
                        }
                        used++;
                    }
                }
                if (used == 1) // Remove trailing comma
                {
                    orderByString = orderByString.Remove(',');
                }
                else if (used == 0) // Clear if no flags (just in case)
                {
                    orderByString = "";
                }
                m_qryGameSort.SelectExtraCondition = orderByString;
                if (m_qryGameSort.Select() == SQLiteErrorCode.Ok)
                {
                    do
                    {
                        outGameIDs.Add(m_qryGameSort.GameID);
                    } while (m_qryGameSort.Fetch());
                }
                return(outGameIDs);
            }
Beispiel #3
0
 /// <summary>
 /// sorts independently each matrix row or each matrix column
 /// </summary>
 /// <param name="flags">The operation flags, a combination of SortFlag values</param>
 /// <returns>The destination integer array of the same size as src</returns>
 public Mat SortIdx(SortFlag flags)
 {
     var dst = new Mat();
     Cv2.SortIdx(this, dst, flags);
     return dst;
 }
Beispiel #4
0
 public static extern void cvSort(IntPtr src, IntPtr dst, IntPtr idxmat, SortFlag flags);
Beispiel #5
0
 /// <summary>
 /// sorts independently each matrix row or each matrix column
 /// </summary>
 /// <param name="src"></param>
 /// <param name="dst"></param>
 /// <param name="flags"></param>
 public static void SortIdx(InputArray src, OutputArray dst, SortFlag flags)
 {
     if (src == null)
         throw new ArgumentNullException("src");
     if (dst == null)
         throw new ArgumentNullException("dst");
     src.ThrowIfDisposed();
     dst.ThrowIfNotReady();
     NativeMethods.core_sortIdx(src.CvPtr, dst.CvPtr, (int)flags);
     dst.Fix();
 }
    public List<Component> GetSortedList(List<Component> flightList, SortByFlag sortbyFlag, SortFlag sortFlag)
    {
        List<Component> sortedList = null;
        m_sortFlag = sortFlag;

        switch (sortbyFlag)
        {
            case SortByFlag.Price:
                sortedList = GetSortedByPriceFlightList(flightList);
                break;

            case SortByFlag.Airline:
                sortedList = GetSortedByAirLineFlightList(flightList);
                break;

            case SortByFlag.DepartureDate:
                sortedList = GetSortedByDepartureDateFlightList(flightList);
                break;

            case SortByFlag.ArrivalDate:
                sortedList = GetSortedByArrivalDateFlightList(flightList);
                break;

            case SortByFlag.Duration:
                sortedList = GetSortedByDurationFlightList(flightList);
                break;
        }

        if (m_sortFlag == SortFlag.Desc)
        {
            sortedList.Reverse();
        }

        return sortedList;
    }
 public AirLineMatricsManager()
 {
     flightInfohider = new FlightInfoHider();
     m_sortFlag = SortFlag.Asc;
     Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
 }
Beispiel #8
0
    void OnGUI()
    {
        EditorGUILayout.BeginHorizontal();
        GUILayout.Button("刷新", GUILayout.Width(100));
        OpenLodWin = GUILayout.Button("登录帐号", GUILayout.Width(100));
        GUILayout.Space(70);

        GUILayout.Label("账号:", GUILayout.MaxWidth(35));
        GUILayout.TextField(user == null ? "Null" : user.nickname, GUILayout.MinWidth(80));
        //Debug.LogError(user.nickname);
        GUILayout.Label("角色:", GUILayout.MaxWidth(35));
        GUILayout.TextField("模型制作", GUILayout.MinWidth(80));
        EditorGUILayout.EndHorizontal();
        scrollPosition = GUILayout.BeginScrollView(scrollPosition, GUILayout.MinWidth(500), GUILayout.MinHeight(200));

        EditorGUILayout.BeginHorizontal();
        float nameW = 50;
        float dayuseW = 20;
        float timeW = 30;
        float statusW = 20;
        float pageW = 20;
        float revieW = 30;
        float lastimeW = 30;
        bool modelNameFlag = GUILayout.Button("模型名称", GUILayout.MinWidth(nameW));
        GUILayout.Button("制作用时", GUILayout.MinWidth(dayuseW));
        GUILayout.Button("状态", GUILayout.MinWidth(statusW));
        GUILayout.Button("详细页面", GUILayout.MinWidth(pageW));
        GUILayout.Button("审核人", GUILayout.MinWidth(revieW));
        bool makeTimeFlag = GUILayout.Button("开始制作时间", GUILayout.MinWidth(timeW));
        GUILayout.Button("最后修改日期", GUILayout.MinWidth(lastimeW));
        SortFlag sortflag = SortFlag.noneFlag;
        if (modelNameFlag)
            sortflag = SortFlag.sortByName;
        if (makeTimeFlag)
            sortflag = SortFlag.sortByStartTime;
        
        modelNameFlag = false;
        makeTimeFlag = false;

        EditorGUILayout.EndHorizontal();
        List<Model> moudels = GetModelList();
        SortByFlag(ref moudels, sortflag);

        for (int i = 0; i < moudels.Count; i++) {
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label(moudels[i].modelName, GUILayout.MinWidth(nameW));
            GUILayout.Label(moudels[i].predictMakeTime, GUILayout.MinWidth(dayuseW));
            GUILayout.Label(moudels[i].status, GUILayout.MinWidth(statusW));
            GUILayout.Button("查看", GUILayout.MinWidth(pageW));
            GUILayout.Button(moudels[i].reviewerName, GUILayout.MinWidth(revieW));
            GUILayout.Button(moudels[i].startMakeTime, GUILayout.MinWidth(timeW));
            GUILayout.Button(moudels[i].lastReviewTime, GUILayout.MinWidth(lastimeW));
            EditorGUILayout.EndHorizontal();
        }

        GUILayout.EndScrollView();

        EditorGUILayout.BeginHorizontal();
        GUILayout.Button("审核通过", GUILayout.Width(100));
        GUILayout.Button("审核打回", GUILayout.Width(100));
        GUILayout.Space(200);
        GUILayout.Button("上传模型", GUILayout.MinWidth(60));
        EditorGUILayout.EndHorizontal();

        if (OpenLodWin)
        {
            LogWindow LogWin = ScriptableWizard.DisplayWizard<LogWindow>("用户登录");

            LogWin.minSize = new Vector2(300, 200);

            LogWin.OnWizardCreate();

            OpenLodWin = false;
        }
    }