public void Append(pjse.FileTable.Entry item) { if (item == null || !(item.Wrapper is Bhav)) { return; } Bhav b = (Bhav)item.Wrapper; if (b == null) { return; } bool savedstate = internalchg; internalchg = true; this.Parent.Cursor = Cursors.WaitCursor; try { ushort offset = (ushort)wrapper.Count; foreach (Instruction bi in b) { try { wrapper.Add(bi); int i = wrapper.Count - 1; if (wrapper[i].Target1 < 0xFFFC) { wrapper[i].Target1 += offset; } if (wrapper[i].Target2 < 0xFFFC) { wrapper[i].Target2 += offset; } } catch { break; } } } finally { this.Parent.Cursor = Cursors.Default; } internalchg = savedstate; myrepaint(); if (csel >= 0) { flowitems[csel].Focus(); } }
private void llEvent_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { pjse.FileTable.Entry item = inst.Parent.ResourceByInstance(SimPe.Data.MetaData.BHAV_FILE, doidEvent.Value); Bhav b = new Bhav(); b.ProcessData(item.PFD, item.Package); SimPe.PackedFiles.UserInterface.BhavForm ui = (SimPe.PackedFiles.UserInterface.BhavForm)b.UIHandler; ui.Tag = "Popup"; // tells the SetReadOnly function it's in a popup - so everything locked down ui.Text = pjse.Localization.GetString("viewbhav") + ": " + b.FileName + " [" + b.Package.SaveFileName + "]"; b.RefreshUI(); ui.Show(); }
private EquityBhavTable EquityBhavToTable(Bhav bhav, DateTime date, int companyId, long deliveredQty) { var equityBhav = new EquityBhavTable(); equityBhav.CompanyId = companyId; equityBhav.Day = DateToDay(date); equityBhav.Close = bhav.Close; equityBhav.PrevClose = bhav.PrevClose; equityBhav.TotalTradedQty = bhav.TotTradedQty; equityBhav.TotalTradedValue = Math.Round(bhav.TotTradedValue / 100000, 2); equityBhav.TotalTrades = bhav.TotalTrades; equityBhav.TotalDeliveredQty = deliveredQty == -1 ? bhav.TotTradedQty : deliveredQty; return(equityBhav); }
private EquityOHLCTable EquityOHLCToTable(Bhav bhav, DateTime date, int companyId, string highLow) { var ohlc = new EquityOHLCTable(); ohlc.CompanyId = companyId; ohlc.Day = DateToDay(date); ohlc.Close = bhav.Close; ohlc.High = bhav.High; ohlc.Last = bhav.Last; ohlc.Low = bhav.Low; ohlc.Open = bhav.Open; ohlc.PrevClose = bhav.PrevClose; ohlc.HighLow = highLow; return(ohlc); }
private void llBhav_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) { pjse.FileTable.Entry item = wrapper.ResourceByInstance(SimPe.Data.MetaData.BHAV_FILE, (sender == llAction) ? currentItem.Action : currentItem.Guardian); Bhav b = new Bhav(); b.ProcessData(item.PFD, item.Package); BhavForm ui = (BhavForm)b.UIHandler; ui.Tag = "Popup" // tells the SetReadOnly function it's in a popup - so everything locked down + ";callerID=+" + wrapper.FileDescriptor.ExportFileName + "+"; ui.Text = pjse.Localization.GetString("viewbhav") + ": " + b.FileName + " [" + b.Package.SaveFileName + "]"; b.RefreshUI(); ui.Show(); }
/// <summary> /// Returns an array of pairs of Connector()s for the true and false targets of each instruction /// </summary> /// <param name="items">BhavInstList from wrapper</param> /// <returns></returns> public static Connector[] Connectors(Bhav bhav) { if (bhav == null || bhav == null) { return(new Connector[0]); } Connector[] cs = new Connector[bhav.Count * 2]; for (int i = 0; i < bhav.Count; i++) { cs[i * 2] = new Connector(i, bhav[i].Target1, true); cs[i * 2 + 1] = new Connector(i, bhav[i].Target2, false); } Connector.ResolveCollisions(cs); return(cs); }
private void pjse_banner1_SiblingClick(object sender, EventArgs e) { Bhav bhav = (Bhav)wrapper.SiblingResource(Bhav.Bhavtype); if (bhav == null) { return; } if (bhav.Package != wrapper.Package) { DialogResult dr = MessageBox.Show(Localization.GetString("OpenOtherPkg"), pjse_banner1.TitleText, MessageBoxButtons.YesNo); if (dr != DialogResult.Yes) { return; } } SimPe.RemoteControl.OpenPackedFile(bhav.FileDescriptor, bhav.Package); }
public void UpdateGUI(Bhav wrp) { wrapper = wrp; csel = -1; internalchg = false; this.AutoScrollPosition = new Point(0, 0); this.WrapperChanged(new List <Instruction>(), null); if (flowitems != null && flowitems.Length > 0) { flowitems[0].MakeSelected(); // but don't focus! SelectedIndex = 0; } if (!setHandler) { wrapper.WrapperChanged += new System.EventHandler(this.WrapperChanged); setHandler = true; } }
private void btnViewBHAV_Click(object sender, EventArgs e) { ListView lv = getListView(); if (lv == null) { return; } pjse.FileTable.Entry item = (pjse.FileTable.Entry)lv.SelectedItems[0].Tag; Bhav b = new Bhav(); b.ProcessData(item.PFD, item.Package); SimPe.PackedFiles.UserInterface.BhavForm ui = (SimPe.PackedFiles.UserInterface.BhavForm)b.UIHandler; ui.Tag = "Popup"; // tells the SetReadOnly function it's in a popup - so everything locked down ui.Text = pjse.Localization.GetString("viewbhav") + ": " + b.FileName + " [" + b.Package.SaveFileName + "]"; b.RefreshUI(); ui.Show(); }
void GFT_FiletableRefresh(object sender, EventArgs e) { FileTable.GFT.FiletableRefresh -= new EventHandler(GFT_FiletableRefresh); ftEntry = null; wrapper = null; }
/// <summary> /// Returns a description of the operands of the call to another BHAV /// </summary> /// <param name="lng">true to get long description</param> /// <returns>description of the BHAV call operands</returns> /// <remarks>See http://www.modthesims2.com/showthread.php?t=117411 for more info</remarks> protected override string Operands(bool lng) { Bhav bhav = Wrapper; if (bhav == null) { return("???"); } int myArgc = (int)instruction.Parent.Header.ArgumentCount; int thisArgc = bhav.Header.ArgumentCount; if (thisArgc == 0) { return(lng ? pjse.Localization.GetString("noargs") : ""); } string s = ""; if (lng) { s += thisArgc.ToString() + " " + (thisArgc == 1 ? pjse.Localization.GetString("oneArg") : pjse.Localization.GetString("manyArgs")) + ": "; } byte[] o = new byte[16]; ((byte[])instruction.Operands).CopyTo(o, 0); ((byte[])instruction.Reserved1).CopyTo(o, 8); TPRP tprp = (TPRP)bhav.SiblingResource(TPRP.TPRPtype); switch (opFormat(instruction.NodeVersion, o)) { case dataFormat.useTemps: s += this.doTemps(thisArgc, lng, tprp); break; case dataFormat.oldFormat: s += this.do8Cx(thisArgc, lng, tprp, o, instruction.NodeVersion == 0); break; case dataFormat.newFormat: if (thisArgc < 9) { s += this.do4OI(thisArgc, lng, tprp, o); } else { s += this.doZero(thisArgc, lng, tprp); } break; case dataFormat.useParams: if (thisArgc < 9) { s += this.doParams(thisArgc, myArgc, lng, tprp); } else { s += this.doZero(thisArgc, lng, tprp); } break; } return(s); }
public void Execute(Instruction inst) { internalchg = true; ckbDecimal.Checked = pjse.Settings.PJSE.DecimalDOValue; ckbUseInstancePicker.Checked = pjse.Settings.PJSE.InstancePickerAsText; this.inst = inst; foreach (LabelledDataOwner ldoc in aldoc) { ldoc.Instruction = inst; } nodeVersion = inst.NodeVersion; pjse.FileTable.Entry ftEntry = inst.Parent.ResourceByInstance(SimPe.Data.MetaData.BHAV_FILE, inst.OpCode); TPRP tprp = null; if (ftEntry != null) { Bhav wrapper = (Bhav)ftEntry.Wrapper; tprp = (TPRP)wrapper.SiblingResource(TPRP.TPRPtype); nrArgs = wrapper.Header.ArgumentCount; this.lbBhavName.Text = "0x" + SimPe.Helper.HexString(inst.OpCode) + ": " + wrapper.FileName; this.lbArgC.Text = "0x" + SimPe.Helper.HexString(nrArgs); } else { this.lbBhavName.Text = "0x" + SimPe.Helper.HexString(inst.OpCode) + ": [" + pjse.Localization.GetString("bhavnotfound") + "]"; this.lbArgC.Text = "(???)"; } operands = new byte[16]; ((byte[])inst.Operands).CopyTo(operands, 0); ((byte[])inst.Reserved1).CopyTo(operands, 8); for (int i = 0; i < nrArgs; i++) { if (tprp != null && !tprp.TextOnly && i < tprp.ParamCount) { albArg[i].Text = tprp[false, i].Label; } else { albArg[i].Text = pjse.Localization.GetString("unk"); } } for (int i = nrArgs; i < albArg.Length; i++) { albArg[i].Text = pjse.Localization.GetString("bwb_unused"); } format = pjse.BhavNameWizards.BhavWizBhav.opFormat(inst.NodeVersion, operands); rbTemps.Checked = format == BhavWizBhav.dataFormat.useTemps; rbOld.Checked = format == BhavWizBhav.dataFormat.oldFormat; rbNew.Checked = format == BhavWizBhav.dataFormat.newFormat; rbCallers.Enabled = nodeVersion > 0; rbCallers.Checked = format == BhavWizBhav.dataFormat.useParams; doFormat(); internalchg = false; return; }