private void MakeTreeView() { PoseDataNode posenode = new PoseDataNode(filename); PoseTreeView.Nodes.Add(posenode); // tahを展開する. if (posedata.scene) { PoseDataCameraNode camera = new PoseDataCameraNode(TextResource.Camera, posedata.camera); posenode.Nodes.Add(camera); foreach (TDCGExplorer.PNGPoseFigureData data in posedata.figures) { PoseDataFigureNode figure = new PoseDataFigureNode(TextResource.Figure, data); posenode.Nodes.Add(figure); PoseDataLightNode light = new PoseDataLightNode(TextResource.Light, data.light); figure.Nodes.Add(light); PoseDataTMONode tmo = new PoseDataTMONode(TextResource.TMO, data.tmo); figure.Nodes.Add(tmo); PoseDataTSONode tso = new PoseDataTSONode(TextResource.TSO, data.tsos); figure.Nodes.Add(tso); } } else { PoseDataCameraNode camera = new PoseDataCameraNode(TextResource.Camera, posedata.camera); PoseDataLightNode light = new PoseDataLightNode(TextResource.Light, posedata.figures[0].light); PoseDataTMONode tmo = new PoseDataTMONode(TextResource.TMO, posedata.figures[0].tmo); posenode.Nodes.Add(camera); posenode.Nodes.Add(light); posenode.Nodes.Add(tmo); } posenode.ExpandAll(); }
private void toolStripMenuItemSaveTmo_Click(object sender, EventArgs e) { if (TDCGExplorer.TDCGExplorer.BusyTest() == true) { return; } PoseDataTMONode node = PoseTreeView.SelectedNode as PoseDataTMONode; if (node == null) { MessageBox.Show(TextResource.OnlyTMOFile, TextResource.Error, MessageBoxButtons.OK); return; } try { SaveFileDialog dialog = new SaveFileDialog(); dialog.FileName = filename + ".tmo"; dialog.InitialDirectory = TDCGExplorer.TDCGExplorer.SystemDB.tahpath; dialog.Filter = TextResource.TMOFileDescription; dialog.FilterIndex = 0; dialog.Title = TextResource.SelectSaveFileName; dialog.RestoreDirectory = true; dialog.OverwritePrompt = true; dialog.CheckPathExists = true; if (dialog.ShowDialog() == DialogResult.OK) { string tmofilename = dialog.FileName; //File.Delete(tmofilename); TDCGExplorer.TDCGExplorer.FileDelete(tmofilename); using (MemoryStream ms = new MemoryStream(node.tmo.data)) using (Stream fileStream = File.Create(tmofilename)) { BufferedStream bufferedDataStream = new BufferedStream(ms); BufferedStream bufferedFileStream = new BufferedStream(fileStream); CopyStream(bufferedDataStream, bufferedFileStream); bufferedFileStream.Flush(); bufferedFileStream.Close(); bufferedDataStream.Close(); } } } catch (Exception ex) { TDCGExplorer.TDCGExplorer.SetToolTips(TextResource.Error + ":" + ex.Message); } }