public void SetHeader(string title, string selected, params SubHeaderViewData[] tabs) { ViewData["Header"] = Header = new SubHeader(title) { Selected = selected, Items = tabs }; }
// GET: Home public ActionResult Index() { //logger.Info("test11111"); var subHeader = new SubHeader { Title = "Dashboard", PageTitle = "Dashboard", SubPageTitle = "dashboard & statistics", LinkText = new Dictionary <string, string> { { "主页", "/home/index" } } }; ViewData["SubHeader"] = subHeader; return(View()); }
// GET: SystemMenu public ActionResult Index() { //查出所有菜单并生成菜单树 var menu = SystemMenuHelper.GetList(); var newMenu = CreateMenu(menu, 0); var subHeader = new SubHeader { Title = "菜单列表", PageTitle = "菜单列表", SubPageTitle = "所有菜单", LinkText = new Dictionary <string, string>() }; ViewData["SubHeader"] = subHeader; return(View(newMenu)); }
private static byte[] _EncodeSubHeader(SubHeader sh) { using (var ms = new MemoryStream()) { using (var bw = new BinaryWriter(ms)) { bw.Write(sh.Flags); bw.Write(sh.ExponentForYValues); bw.Write(sh.IndexNumber); bw.Write(sh.StartingZValue); bw.Write(sh.EndingZValue); bw.Write(sh.NoiseValue); bw.Write(sh.NumberOfPoints); bw.Write(sh.NumberOfCoAddedScans); bw.Write(sh.WAxisValue); bw.Write(sh.Reserved); return(ms.ToArray()); } } }
public void Write(WorldPacket data) { data.WriteInt32(ResponseID); data.WriteInt32(ChoiceArtFileID); data.WriteInt32(Flags); data.WriteUInt32(WidgetSetID); data.WriteUInt32(UiTextureAtlasElementID); data.WriteUInt32(SoundKitID); data.WriteUInt8(GroupID); data.WriteBits(Answer.GetByteCount(), 9); data.WriteBits(Header.GetByteCount(), 9); data.WriteBits(SubHeader.GetByteCount(), 7); data.WriteBits(ButtonTooltip.GetByteCount(), 9); data.WriteBits(Description.GetByteCount(), 11); data.WriteBits(Confirmation.GetByteCount(), 7); data.WriteBit(RewardQuestID.HasValue); data.WriteBit(Reward.HasValue); data.FlushBits(); if (Reward.HasValue) { Reward.Value.Write(data); } data.WriteString(Answer); data.WriteString(Header); data.WriteString(SubHeader); data.WriteString(ButtonTooltip); data.WriteString(Description); data.WriteString(Confirmation); if (RewardQuestID.HasValue) { data.WriteUInt32(RewardQuestID.Value); } }
public ActionResult Show(int id, string name, string order_by, int?page) { var user = !Current.User.IsAnonymous && Current.User.Id == id ? Current.User : Current.DB.Users.Get(id); if (user == null) { return(PageNotFound()); } // if this user has a display name, and the title is missing or does not match, permanently redirect to it if (user.UrlTitle.HasValue() && (string.IsNullOrEmpty(name) || name != user.UrlTitle)) { return(PageMovedPermanentlyTo($"/users/{user.ProfilePath}{Request.Url.Query}")); } SetHeader(user.Login); SelectMenuItem("Users"); var profileTabs = new SubHeader { Selected = order_by, Items = new List <SubHeaderViewData> { new SubHeaderViewData { Description = "edited", Title = "Recently edited queries", Href = "/users/" + user.ProfilePath + "?order_by=edited", Default = true, }, new SubHeaderViewData { Description = "favorite", Title = "Favorite queries", Href = "/users/" + user.ProfilePath + "?order_by=favorite" }, new SubHeaderViewData { Description = "recent", Title = "Recently executed queries", Href = "/users/" + user.ProfilePath + "?order_by=recent" } } }; ViewData["UserQueryHeaders"] = profileTabs; page = Math.Max(page ?? 1, 1); int?pagesize = 15; // In case we decide to make this a query param int start = ((page.Value - 1) * pagesize.Value) + 1; int finish = page.Value * pagesize.Value; string message; var builder = new SqlBuilder(); var pager = builder.AddTemplate(@" SELECT * FROM (SELECT /**select**/, ROW_NUMBER() OVER(/**orderby**/) AS RowNumber FROM Queries q /**join**/ /**leftjoin**/ /**where**/ ) AS results WHERE RowNumber BETWEEN @start AND @finish ORDER BY RowNumber", new { start, finish } ); var counter = builder.AddTemplate("SELECT COUNT(*) FROM Queries q /**join**/ /**leftjoin**/ /**where**/"); if (order_by == "recent") { builder.Select("re.RevisionId AS Id"); builder.Select("re.LastRun"); builder.Select("s.TinyName AS SiteName"); builder.Where("re.UserId = @user", new { user = id }); builder.Join("Revisions r ON r.QueryId = q.Id"); builder.Join("RevisionExecutions re ON re.RevisionId = r.Id"); builder.Join("Sites s ON s.Id = re.SiteId"); builder.Join(@"QuerySets qs ON qs.Id = r.OriginalQuerySetId"); builder.OrderBy("re.LastRun DESC"); message = user.Id == CurrentUser.Id ? "You have never ran any queries" : "No queries ran recently"; } else { builder.Select("qs.CurrentRevisionId AS Id"); builder.Select("qs.LastActivity AS LastRun"); builder.Join("Revisions r on r.QueryId = q.Id"); builder.Join("QuerySets qs on qs.CurrentRevisionId = r.Id"); if (order_by == "favorite") { builder.Join(@" Votes v ON v.QuerySetId = qs.Id AND v.UserId = @user AND v.VoteTypeId = @vote", new { user = id, vote = (int)VoteType.Favorite } ); builder.OrderBy("v.Id DESC"); message = user.Id == CurrentUser.Id ? "You have no favorite queries, click the star icon on a query to favorite it" : "No favorites"; } else { builder.Where("qs.OwnerId = @user", new { user = id }); builder.Where("qs.Hidden = 0"); builder.OrderBy("qs.LastActivity DESC"); message = user.Id == CurrentUser.Id ? "You haven't edited any queries" : "No queries"; } } builder.Select("qs.Id as QuerySetId"); builder.Select("u.Id as CreatorId"); builder.Select("u.Login as CreatorLogin"); builder.Select("qs.Title AS Name"); builder.Select("qs.[Description] AS [Description]"); builder.Select("qs.Votes AS FavoriteCount"); builder.Select("qs.Views AS Views"); builder.Select("q.QueryBody AS [SQL]"); builder.LeftJoin("Users u ON u.Id = qs.OwnerId"); var queries = Current.DB.Query <QueryExecutionViewData>( pager.RawSql, pager.Parameters ).Select( view => { view.SiteName = (view.SiteName ?? Site.TinyName).ToLower(); return(view); } ); int total = Current.DB.Query <int>(counter.RawSql, counter.Parameters).First(); ViewData["Href"] = $"/users/{user.ProfilePath}?order_by={profileTabs.Selected}"; ViewData["Queries"] = new PagedList <QueryExecutionViewData>(queries, page.Value, pagesize.Value, false, total); if (!queries.Any()) { ViewData["EmptyMessage"] = message; } return(View(user)); }
public static HighByteMappingCMapTable Load(TrueTypeDataBytes data, int numberOfGlyphs, int platformId, int encodingId) { // ReSharper disable UnusedVariable var length = data.ReadUnsignedShort(); var version = data.ReadUnsignedShort(); // ReSharper restore UnusedVariable var subHeaderKeys = new int[256]; var maximumSubHeaderIndex = 0; for (var i = 0; i < 256; i++) { var value = data.ReadUnsignedShort(); maximumSubHeaderIndex = Math.Max(maximumSubHeaderIndex, value / 8); subHeaderKeys[i] = value; } var subHeaderCount = maximumSubHeaderIndex + 1; var subHeaders = new SubHeader[subHeaderCount]; for (var i = 0; i < subHeaderCount; i++) { var firstCode = data.ReadUnsignedShort(); var entryCount = data.ReadUnsignedShort(); var idDelta = data.ReadSignedShort(); var idRangeOffset = data.ReadUnsignedShort() - (subHeaderCount - i - 1) * 8 - 2; subHeaders[i] = new SubHeader(firstCode, entryCount, idDelta, idRangeOffset); } var glyphIndexArrayOffset = data.Position; var characterCodeToGlyphId = new Dictionary <int, int>(); for (var i = 0; i < subHeaderCount; i++) { var subHeader = subHeaders[i]; data.Seek(glyphIndexArrayOffset + subHeader.IdRangeOffset); for (int j = 0; j < subHeader.EntryCount; j++) { int characterCode = (i << 8) + (subHeader.FirstCode + j); var p = data.ReadUnsignedShort(); if (p > 0) { p = (p + subHeader.IdDelta) % 65536; } if (p >= numberOfGlyphs) { continue; } characterCodeToGlyphId[characterCode] = p; } } return(new HighByteMappingCMapTable(platformId, encodingId, characterCodeToGlyphId)); }
public SubHeader GetSubHeader(ushort n) { uint SIZEOF_SUBHEADER = 8; uint SubHeaderOffset = m_ete.offset + (uint)FieldOffsets.subHeaders + n*SIZEOF_SUBHEADER; SubHeader sh = null; if (SubHeaderOffset < m_bufTable.GetLength()) { sh = new SubHeader(SubHeaderOffset, m_bufTable); } return sh; }
public void TestSubHeadersCanBeUsed() { var subHeader = new SubHeader("By Means of Natural Selection"); subHeader.WriteToTrace(); }