private void Init(MemberItem item) { m_Item = item; m_EnglishMember = new MemberSession(m_Browser.docProject, m_Item, LanguageUtil.ELanguage.English); if (m_Browser.translating) { // First get translated member text item.DocModelTranslated.SanitizeForEditing(); string translatedModelTextOld = item.DocModelTranslated.ToString(); // Load translated member and change its doc model to match the English version m_TranslatedMember = MergeTranslated(m_Item.DocModel, m_Item.DocModelTranslated); // Load translated member as dummy using old translated docs m_TranslatedMemberOld = new MemberSession(m_Browser.docProject, m_Item, translatedModelTextOld, m_Browser.language); // Figure out if merged is identical to old translated. If it is, don't show old translated column. m_ShowMerge = (m_TranslatedMemberOld.Model.ToString().Trim() != string.Empty && m_TranslatedMember.Model.ToString() != m_TranslatedMemberOld.Model.ToString()); m_TranslatedMember.DirtyAutoChanges = m_ShowMerge; } else { m_TranslatedMember = null; m_TranslatedMemberOld = null; } }
public string GetNotifications(int id) // senderId { var messageNotificationListViewModel = new MessageNotificationListModel(MemberSession.GetMemberId()); if (messageNotificationListViewModel.Notifications == null || messageNotificationListViewModel.OrderedMessages.Count == 0) { return(false.ToString()); } messageNotificationListViewModel.CheckNotifications(MemberSession.GetMemberId()); var messageList = new MessageListModel { OrderedMessages = messageNotificationListViewModel.OrderedMessages }; var jsonSerialiser = new JavaScriptSerializer(); var json = jsonSerialiser.Serialize(messageList); // obrisati sve notifikacje od tog Sendera, namenjene receiveru var messageNotification = new MessageNotification(); messageNotification.DeleteAllFrom(id, MemberSession.GetMemberId()); return(json); // vraca listu nedodatih poruka }
private void Init(MemberItem docItem, MemberItem asmItem) { m_Item = asmItem; m_OrphanDocItem = docItem; m_EnglishMember = new MemberSession(m_Browser.docProject, m_Item, LanguageUtil.ELanguage.English); // Find pure member name of asm and doc string docMemberName = docItem.Signatures.First(e => e.InDoc).Name; int paramsStartIndexChar = docMemberName.IndexOfAny(new char[] { '(', '<' }); if (paramsStartIndexChar >= 0) { docMemberName = docMemberName.Substring(0, paramsStartIndexChar); } string asmMemberName = asmItem.Signatures.First(e => e.InAsm).Asm.Name; // Create merged doc text string merged = docItem.DocModel.ToString(); merged = merged.Replace(docMemberName, asmMemberName); // Load merged m_Item.LoadDoc(merged, LanguageUtil.ELanguage.English); m_EnglishMember.DirtyAutoChanges = true; // Set diff m_EnglishMember.TextCurrent = m_Item.DocModel.ToString(); m_EnglishMember.Diff.Compare(m_EnglishMember.TextOrig, m_EnglishMember.TextCurrent); m_TranslatedMember = null; m_TranslatedMemberOld = null; }
void DocEditGUI(MemberSession member, bool readOnly) { if (!m_Browser.translating) { if (EditGrouping) { GUILayout.Label("Change order of signatures or whole sections by dragging the handles next to signatures or sections headers.\nThe descriptions and examples are hidden in this mode.", "helpbox"); } IEnumerable <SignatureEntry> missingDocSignatures = member.Member.Signatures.Where(s => s.InAsmOrDoc).Where(s => !s.InDoc); if (missingDocSignatures.Count() > 0) { if (!EditGrouping) { string missingSigsString = string.Join("\n", missingDocSignatures.Select(e => e.Formatted).ToArray()); EditorGUILayout.HelpBox("Some signatures are missing from the docs (click 'Edit Grouping' to edit):\n" + missingSigsString, MessageType.Warning); } else { // Show signatures with missing docs and allow moving down into doc sub sections GUILayout.BeginHorizontal(); GUILayout.Space(24); GUILayout.Label("Signatures Missing from Docs", DocBrowser.styles.docSectionHeader); GUILayout.EndHorizontal(); GUI.backgroundColor = GetColor(true, false); GUILayout.BeginVertical(DocBrowser.styles.docArea, GUILayout.ExpandHeight(false)); GUI.backgroundColor = Color.white; List <string> missingSigs = missingDocSignatures.Select(e => e.Name).ToList(); for (int i = 0; i < missingSigs.Count; i++) { SignatureGUI(member, -1, missingSigs, i, readOnly); } GUILayout.Space(3); GUILayout.EndVertical(); } EditorGUILayout.Space(); } } m_SelectedSection = -1; m_SelectedText = -1; // Display each section for (int i = 0; i < member.Model.SubSections.Count; i++) { SubSectionEditGUI(member, i, readOnly); } // Section header for adding new section if (EditGrouping && member.Member.MultipleSignaturesPossible) { SectionHeaderGUI(member, -1, readOnly); EditorGUILayout.Space(); } EditorGUILayout.Space(); GUILayout.FlexibleSpace(); }
public ActionResult SavePdfFile(string padavanId, string text) { if (padavanId != "") { Data.Entities.MPs.SavePDF(MemberSession.GetMemberId(), int.Parse(padavanId), text); } return(RedirectToAction("Index")); }
public int GetNumberOfNotifications() { var message = new MessageNotification(); var br = message.NumberOfNotifications(MemberSession.GetMemberId()); return(br); }
void SignatureGUI(MemberSession member, int sectionIndex, List <string> signatureList, int signatureIndex, bool readOnly) { string sig = signatureList[signatureIndex]; SignatureEntry sigEntry = member.Member.GetSignature(sig, true); bool edit = !readOnly && !m_Browser.translating && member.Member.MultipleSignaturesPossible; EditorGUI.BeginChangeCheck(); GUILayout.BeginHorizontal(); if (edit) { GUILayout.Space(4); Rect rect = GUILayoutUtility.GetRect(14, 14, GUILayout.ExpandWidth(false)); rect.y += 4; DocBrowser.DragHandle(rect, typeof(SignatureEntry), signatureList, signatureIndex, DocBrowser.styles.dragHandle); if (!sigEntry.InAsm || sigEntry.Asm.Private) { GUILayout.Space(4); rect = GUILayoutUtility.GetRect(14, 14, GUILayout.ExpandWidth(false)); rect.y += 4; if (MiniButton(rect, DocBrowser.styles.iconRemove)) { signatureList.RemoveAt(signatureIndex); } } } string sigString = m_Browser.ShowRawNames ? sigEntry.Name : sigEntry.FormattedHTML; if (sigEntry.InAsm && sigEntry.Asm.Private) { sigString = "<b><color=red>private</color></b> " + sigString; } GUILayout.Label(sigString, DocBrowser.styles.signature); GUILayout.EndHorizontal(); // Handle dragging Rect dragTargetRect = GUILayoutUtility.GetRect(10, 0); dragTargetRect.y -= 3; dragTargetRect.height = 14; DocBrowser.DragTarget(dragTargetRect, typeof(SignatureEntry), signatureList, signatureIndex + 1); if (EditorGUI.EndChangeCheck()) { member.OnModelEdited(true); } }
/// <summary> /// Sets the user. /// </summary> /// <param name="user">The user.</param> /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns> public static bool SetUser(MemberSession user) { if (HttpContext.Current != null && HttpContext.Current.Session != null) { HttpContext.Current.Session.Remove(SessionCustomer.sessionName); user.SessionId = HttpContext.Current.Session.SessionID; } HttpContext.Current.Session.Add(SessionCustomer.sessionName, user); return(true); }
public static TethysAvatar GetAvatar(MemberSession session, AvatarSize size) { return(new TethysAvatar { Id = session.Id, DisplayName = session.To.DisplayName, Background = AvatarHelper.GetColorBrush(session.To.DisplayName), DisplayNamePinyin = session.To.DisplayNamePinyin, Name = session.To.Name, Source = GetAvatarBitmap(session.To.Avatar, size, FromType.User) }); }
public string Conversation(int id) // receiverId { var messageList = new MessageListModel(id); var jsonSerialiser = new JavaScriptSerializer(); var json = jsonSerialiser.Serialize(messageList); // TODO: postavi da se sve notifikacije obrisu koje su bile za tog usera var messageNotification = new MessageNotification(); messageNotification.DeleteAllFrom(id, MemberSession.GetMemberId()); return(json); }
void ParametersAndReturnGUI(MemberSession member, int sectionIndex, bool readOnly) { MemberSubSection section = member.Model.SubSections[sectionIndex]; // Parameters if (section.Parameters.Count > 0) { GUILayout.Label("Parameters", DocBrowser.styles.docSectionHeader); // Handle dragging parameter into first slot Rect dragTargetRect = GUILayoutUtility.GetRect(10, 0); dragTargetRect.y -= 6; dragTargetRect.height = 14; DocBrowser.DragTarget(dragTargetRect, typeof(ParameterWithDoc), section.Parameters, 0); ParameterWithDoc paramToRemove = null; for (int i = 0; i < section.Parameters.Count; i++) { ParameterWithDoc p = section.Parameters[i]; string label = "<b>" + p.Name + " : </b>" + (p.HasAsm ? Extensions.GetNiceName(p.TypeString) : "?"); bool remove; p.Doc = ParamOrReturnGUI(p.HasAsm, p.HasDoc, label, p.Doc, member.Language, readOnly, out remove, section.Parameters, i); if (remove) { paramToRemove = p; } } if (paramToRemove != null) { section.Parameters.Remove(paramToRemove); } } // Returns if (section.ReturnDoc != null) { GUILayout.Label("Returns", DocBrowser.styles.docSectionHeader); ReturnWithDoc p = section.ReturnDoc; string label = (p.HasAsm ? Extensions.GetNiceName(p.ReturnType) : "?"); bool remove; p.Doc = ParamOrReturnGUI(p.HasAsm, p.HasDoc, label, p.Doc, member.Language, readOnly, out remove); if (remove) { section.ReturnDoc = null; } } EditorGUILayout.Space(); }
public static PollModel Load(int pollId) { var model = new PollModel { PollDetails = CreatePollDTO(pollId), PollOptions = CreatePollOptionDTOs(pollId) }; // ovo ce da zatvori glasanje ako mu je proslo vreme model = CheckUpdatePollState(model); model.AlreadyVoted = Polls.CheckIfMemberVotedInPoll(MemberSession.GetMemberId(), pollId); return(model); }
private void DocColumnGUI(MemberSession member, bool readOnly, ref Vector2 scroll, float width, string title) { GUILayout.BeginVertical(); if (m_Browser.translating) { GUILayout.Label(title, DocBrowser.styles.docHeader); } scroll = GUILayout.BeginScrollView(scroll, DocBrowser.styles.docArea, GUILayout.Width(width)); DocEditGUI(member, readOnly); GUILayout.EndScrollView(); GUILayout.EndVertical(); }
protected async Task <bool> CheckSession() { try { if (HttpContext.Current.Request.QueryString.Get("isNative") == "1") { IsNative = "1"; } var token = HttpContext.Current.Request.QueryString.Get("token"); if (!string.IsNullOrEmpty(token)) { token = Encryption.Decrypt(W88.Utilities.Constant.EncryptionType.TripleDESCS, token); } if (string.IsNullOrEmpty(token)) { token = HttpContext.Current.Request.Headers.Get("token"); if (string.IsNullOrEmpty(token)) { token = Token; } if (string.IsNullOrEmpty(token)) { return(false); } } var process = await MembersHelper.MembersSessionCheck(token); if (!(process.Code == 1 && !string.IsNullOrEmpty(process.Data.Token))) { return(false); } var sessionInfo = await MembersHelper.GetMemberInfo(token); if (string.IsNullOrEmpty(sessionInfo.MemberCode)) { return(false); } UserSessionInfo = sessionInfo; MemberSession = process.Data; SetMemberRewardsInfo(); } catch (Exception) { return(false); } return(true); }
public static MPModel Load() { MPModel mpm = new MPModel(); mpm.master = new MPDTO(); mpm.master.Padawans = new List <MemberDTO>(); mpm.fullMembers = new List <MemberDTO>(); mpm.whitoutMaster = new List <MemberDTO>(); mpm.reports = new List <MemberMasterDTO>(); List <Member> padawans = Data.Entities.MPs.GetPadawansFrom(MemberSession.GetMemberId()); foreach (Member p in padawans) { if (!p.IsDeleted) { mpm.master.Padawans.Add(MVC.Models.CompanyModel.createMemberDTO(p)); } } List <Member> full = Data.Entities.Members.GetFullMembers(); foreach (Member f in full) { if (!f.IsDeleted) { mpm.fullMembers.Add(MVC.Models.CompanyModel.createMemberDTO(f)); } } List <Member> without = Data.Entities.Members.GetWithoutMaster(); foreach (Member m in without) { mpm.whitoutMaster.Add(MVC.Models.CompanyModel.createMemberDTO(m)); } List <MemberMaster> report = Data.Entities.MPs.GetReports(); foreach (MemberMaster mm in report) { mpm.reports.Add(createMemberMasterDTO(mm)); } return(mpm); }
public ActionResult Index(int?id = null) { var model = CompanyModel.Load(MemberSession.GetMemberId()); if (id != null) { if (MemberSession.GetRole() == Enumerations.Role.Administrator || MemberSession.GetRole() == Enumerations.Role.FR) { model.Show = model.AllCompany.Find(x => x.CompanyId == id); } else { model.Show = model.MyCompany.Find(x => x.CompanyId == id); } } return(View(model)); }
public void OnEnable(MemberItem selectedMember) { // Code below is executed both when the window is opened and at mono reloads. if (selectedMember != null) { m_Item = selectedMember; m_EnglishMember.OnEnable(selectedMember); if (m_Browser.translating) { m_TranslatedMember.OnEnable(selectedMember); m_TranslatedMemberOld.OnEnable(selectedMember); } } else { m_EnglishMember = null; m_TranslatedMember = null; m_TranslatedMemberOld = null; } }
public void SaveComment(string text, string tip, string projekat, string companyId) { int idc; int.TryParse(companyId, out idc); int idp; int.TryParse(projekat, out idp); var type = Enumerations.CommentType.Classic; foreach (int i in Enum.GetValues(typeof(Enumerations.CommentType))) { if (((Enumerations.CommentType)i).ToString().CompareTo(tip) == 0) { type = (Enumerations.CommentType)i; } } Comments.AddComment(MemberSession.GetMemberId(), idc, idp, type, text); }
public ActionResult Edit(MemberEditProfileModel model) { var memberId = MemberSession.GetMemberId(); if (ModelState.IsValid) { byte[] array = null; if (model.Avatar != null) { using (MemoryStream ms = new MemoryStream()) { model.Avatar.InputStream.Position = 0; model.Avatar.InputStream.CopyTo(ms); array = ms.GetBuffer(); } } Members.EditProfile(memberId, model.Nickname, array, model.Faculty, model.DateOfBirth, model.Status, model.Phone, model.Facebook, model.LinkedIn, model.Skype); } return(RedirectToAction("Profile", new { id = memberId })); }
public string SetMessage(int id, string text) // id - receiverId { try { var messageDTO = new MessageDTO { SenderId = MemberSession.GetMemberId(), ReceiverId = id, Text = text, Time = DateTime.Now }; var message = new Message(); message.Save(ref messageDTO); // put notification var messageNotification = new MessageNotification(); var messageNotificationDTO = new MessageNotificationDTO { Time = DateTime.Now, MessageId = messageDTO.MessageId, ReceiverId = id, SenderId = MemberSession.GetMemberId() }; messageNotification.Save(messageNotificationDTO); return(true.ToString()); } catch (Exception e) { Console.WriteLine(e); return(false.ToString()); } }
public ActionResult ChangePassword(MemberChangePasswordModel m) { try { if (!Members.CheckMemberPassword(MemberSession.GetMemberId(), m.OldPassword)) { return(RedirectToAction("ChangePassword", new { message = "Pogresna stara lozinka." })); } else if (m.NewPassword != m.RepeatPassword) { return(RedirectToAction("ChangePassword", new { message = "Polja za novu lozinku nisu jednaka." })); } else { Members.ChangeMemberPassword(MemberSession.GetMemberId(), m.NewPassword); } return(RedirectToAction("ChangePassword", new { message = "Nesto ne valja." })); } catch (Exception) { return(RedirectToAction("Index", "Access")); } }
public ActionResult Add(PollAddModel model) { Polls.AddPoll(model.Topic, model.Description, model.AllowMultiple, model.HideResultsUntilFinished, model.HideVoters, model.EndDate, model.EndTime, model.Options, MemberSession.GetMemberId()); return(RedirectToAction("AllPolls")); }
public async Task SendRequestEmail(string text, Data.Enumerations.FeedbackType type, byte[] pdf = null) { MemberDTO user = MVC.Models.CompanyModel.createMemberDTO(Data.Entities.Members.GetMemberAt(MemberSession.GetMemberId())); //MemoryStream stream = new MemoryStream(pdf); var body = "<p>Feedback from: {0} ({1})</p><p>Type: {2}</p><p>Text: {3}</p>"; var message = new MailMessage(); message.To.Add(new MailAddress("*****@*****.**")); message.From = new MailAddress("*****@*****.**"); message.Subject = "Feedback"; message.Body = string.Format(body, user.Name + " " + user.Surname, user.Gmail.ToString(), type.ToString(), text); message.IsBodyHtml = true; //message.Attachments.Add(new Attachment(stream, "Request.pdf", System.Net.Mime.MediaTypeNames.Application.Pdf)); using (var smtp = new SmtpClient()) { var credential = new NetworkCredential { UserName = "******", Password = "******" }; smtp.Credentials = credential; smtp.Host = "smtp.gmail.com"; smtp.Port = 587; smtp.EnableSsl = true; await smtp.SendMailAsync(message); } }
public static void ForShowAvatar(this MemberSession session, AvatarSize size) { session.NamePinyin = session.To.DisplayNamePinyin; session.TethysAvatar = AvatarHelper.GetAvatar(session, size); }
private MemberSession MergeTranslated(MemDocModel english, MemDocModel translatedOld) { MemberSession translatedNewMember = new MemberSession(m_Browser.docProject, m_Item, translatedOld.Language); MemDocModel translatedNew = translatedNewMember.Model; // If number of sections don't match at all, make new list of sections if (english.SubSections.Count != translatedNew.SubSections.Count) { translatedNew.SubSections.Clear(); for (int i = 0; i < english.SubSections.Count; i++) { translatedNew.SubSections.Add(new MemberSubSection("")); } } for (int s = 0; s < english.SubSections.Count; s++) { MemberSubSection engSec = english.SubSections[s]; MemberSubSection newSec = translatedNew.SubSections[s]; // Replace signatures newSec.SignatureList = engSec.SignatureList; // Replace flags newSec.IsCsNone = engSec.IsCsNone; newSec.IsUndoc = engSec.IsUndoc; // Merge parameters List <ParameterWithDoc> oldParams = newSec.Parameters; newSec.Parameters = new List <ParameterWithDoc> (); foreach (ParameterWithDoc engParam in engSec.Parameters) { ParameterWithDoc newParam = new ParameterWithDoc(engParam.Name); newParam.Types = engParam.Types; ParameterWithDoc oldParam = oldParams.FirstOrDefault(e => e.Name == engParam.Name); if (oldParam != null && !string.IsNullOrEmpty(oldParam.Doc)) { newParam.Doc = oldParam.Doc; } else { newParam.Doc = GetInitialTranslationString(engParam.Doc); } newSec.Parameters.Add(newParam); } // Merge return type if (engSec.ReturnDoc == null) { newSec.ReturnDoc = null; } else { string returnDocString = newSec.ReturnDoc != null ? newSec.ReturnDoc.Doc : GetInitialTranslationString(engSec.ReturnDoc.Doc); newSec.ReturnDoc = new ReturnWithDoc(); newSec.ReturnDoc.ReturnType = engSec.ReturnDoc.ReturnType; newSec.ReturnDoc.Doc = returnDocString; } // Merge text blocks bool blockTypesMatch = true; if (newSec.TextBlocks.Count != engSec.TextBlocks.Count) { blockTypesMatch = false; } else { for (int i = 0; i < engSec.TextBlocks.Count; i++) { if (engSec.TextBlocks[i].GetType() != newSec.TextBlocks[i].GetType()) { blockTypesMatch = false; } } } // If block types match, only replace examples if (blockTypesMatch) { for (int i = 0; i < engSec.TextBlocks.Count; i++) { TextBlock engBlock = engSec.TextBlocks[i]; if (engBlock is ExampleBlock) { newSec.TextBlocks[i] = engBlock; } } } // If block types don't match, replace examples and make all description // blocks have TODO in them (except if the English one is empty too). else { newSec.TextBlocks.Clear(); for (int i = 0; i < engSec.TextBlocks.Count; i++) { TextBlock engBlock = engSec.TextBlocks[i]; if (engBlock is ExampleBlock) { newSec.TextBlocks.Add(engBlock); } else if (engBlock is DescriptionBlock) { newSec.TextBlocks.Add(new DescriptionBlock(GetInitialTranslationString(engBlock.Text))); } } } } translatedNewMember.TextOrig = translatedOld.ToString(); translatedNewMember.TextCurrent = translatedNew.ToString(); translatedNewMember.Diff.Compare(translatedNewMember.TextOrig, translatedNewMember.TextCurrent); return(translatedNewMember); }
void SubSectionEditGUI(MemberSession member, int sectionIndex, bool readOnly) { MemberSubSection section = member.Model.SubSections[sectionIndex]; if ((member.Member.MultipleSignaturesPossible && member.Model.SubSections.Count > 1) || EditGrouping) { SectionHeaderGUI(member, sectionIndex, readOnly); } else { GUILayout.Space(18); } if (!m_Browser.translating) { // Toggle for NoDoc Rect toggleRect = GUILayoutUtility.GetRect(10, 0); toggleRect.height = 16; toggleRect.y -= 16; toggleRect.xMin = toggleRect.xMax - 175; EditorGUI.BeginChangeCheck(); section.IsUndoc = GUI.Toggle(toggleRect, section.IsUndoc, "Exclude section from docs"); if (EditorGUI.EndChangeCheck()) { member.OnModelEdited(); } } // Show signatures for (int i = 0; i < section.SignatureList.Count; i++) { SignatureGUI(member, sectionIndex, section.SignatureList, i, readOnly); } if (section.IsUndoc) { if (!m_Browser.translating) { EditorGUILayout.HelpBox("This section will be excluded from the documentation but it will still show up in intelli-sense etc. Many users may not realize it's not officially supported. Consider either making the API internal or include it in the documentation.", MessageType.Warning); } else { EditorGUILayout.HelpBox("This section is not documented. No translation is needed.", MessageType.Info); } } else { if (!EditGrouping) { EditorGUI.BeginChangeCheck(); ParametersAndReturnGUI(member, sectionIndex, readOnly); DescriptionAndExamplesGUI(member, sectionIndex, readOnly); if (EditorGUI.EndChangeCheck()) { member.OnModelEdited(); } } } EditorGUILayout.Space(); GUI.enabled = true; }
// GET: MemberProfile public ActionResult Index() { var model = MemberIndexModel.Load(MemberSession.GetMemberId()); return(View(model)); }
public static void SetMemberSession(Customers member) { var session = new MemberSession(member.Id, member.Mobile, member.FullName); Session[Constants.LOGIN_SESSION_ID] = session; }
public ActionResult Edit() { var model = MemberEditProfileModel.Load(MemberSession.GetMemberId()); return(View(model)); }
void DescriptionAndExamplesGUI(MemberSession member, int sectionIndex, bool readOnly) { MemberSubSection section = member.Model.SubSections[sectionIndex]; // Summary string controlName = "Section_" + sectionIndex + "_Summary"; GUI.SetNextControlName(controlName); if (GUI.GetNameOfFocusedControl() == controlName) { m_SelectedSection = sectionIndex; m_SelectedText = 0; } GUILayout.Label("Description (first line is summary)", DocBrowser.styles.docSectionHeader); if (!readOnly) { GUI.backgroundColor = GetColor(true, m_Browser.translating ? section.Summary != sTodoText : section.Summary != string.Empty); } section.Summary = TextArea(section.Summary, DocBrowser.styles.description, readOnly, member.Language); GUI.backgroundColor = Color.white; // Description and examples int i = 0; int removeExample = -1; foreach (TextBlock t in section.TextBlocks) { bool isExample = (t is ExampleBlock); controlName = "Section_" + sectionIndex + "_Text_" + i; GUI.SetNextControlName(controlName); if (GUI.GetNameOfFocusedControl() == controlName && !isExample) { m_SelectedSection = sectionIndex; m_SelectedText = i; } if (isExample) { GUILayout.Space(4); EditorGUILayout.BeginHorizontal(); var example = t as ExampleBlock; GUILayout.FlexibleSpace(); EditorGUI.BeginDisabledGroup(readOnly || m_Browser.translating); example.IsConvertExample = GUILayout.Toggle(example.IsConvertExample, "Convert"); example.IsNoCheck = GUILayout.Toggle(example.IsNoCheck, "NoCheck"); if (GUILayout.Button("Delete", EditorStyles.miniButton)) { removeExample = i; } EditorGUI.EndDisabledGroup(); EditorGUILayout.EndHorizontal(); // Some hackery to show the label nicely, since gui margins don't work inside a horizontal group. Rect r = GUILayoutUtility.GetLastRect(); r.x += 4; r.y += 3; GUI.Label(r, "Example", DocBrowser.styles.docSectionHeader); t.Text = TextArea(t.Text, DocBrowser.styles.example, readOnly || m_Browser.translating, member.Language); } else { if (i > 0) { GUILayout.Label("Description (continued)", DocBrowser.styles.docSectionHeader); } t.Text = TextArea(t.Text, DocBrowser.styles.description, readOnly, member.Language); } i++; } if (removeExample >= 0) { section.TextBlocks.RemoveAt(removeExample); EditMember.Model.SanitizeForEditing(); } }