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; } }
/// <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); }
/// <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; }
public static extern void cvSort(IntPtr src, IntPtr dst, IntPtr idxmat, SortFlag flags);
/// <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"); }
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; } }