/// <summary> /// 生成ReferText和Xps标签页 /// </summary> /// <param name="gjc_page"></param> /// <param name="dc_page"></param> private void createReferTextXps(ScienceResearchDataSetNew.关键词Row gjc_page, ScienceResearchDataSetNew.单词Row dc_page) { //ReferTabItem TabItem referTabItemTabItem; if (ModeSetup.pipeiDictionary["is_dc_ckwz_pipei"] == "是") { ReferTabItemUserControl referTabItemUserControl = new DcPipeiReferTabItemUserControl(gjc_page, dc_page); referTabItemTabItem = new TabItem(); referTabItemTabItem.Header = dc_page.单词; referTabItemTabItem.Content = referTabItemUserControl; referUserControl_using.referTabControl.Items.Add(referTabItemTabItem); referTabItemUserControl.zhinengPipeiUserControl.shibie_control(); } //对该单词生成一个Xps控件 if (ModeSetup.pipeiDictionary["is_dc_xps_pipei"] == "是") { XpsUserControl xpsUserControl = new XpsUserControl(gjc_page, dc_page); referTabItemTabItem = new TabItem(); referTabItemTabItem.Header = dc_page.单词; referTabItemTabItem.Content = xpsUserControl; referUserControl_using.referTabControl.Items.Add(referTabItemTabItem); } }
private void btnAddRootKeyword_Click(object sender, RoutedEventArgs e) { int id_father = 0; Node node_child_new = new Node(); DataRow newRow; newRow = gjc_dt.NewRow(); newRow["关键词"] = keywordTextBox.Text; newRow["父节点"] = id_father; gjc_dt.Rows.Add(newRow); try { gjc_ta.Update(gjc_dt); } catch (Exception ex) { MessageBox.Show(ex.Message, "错误", MessageBoxButton.OK, MessageBoxImage.Warning); gjc_dt.Rows.Remove(newRow); return; } newRow["ID"] = newDataId; ScienceResearchDataSetNew.关键词Row gjc_row = (ScienceResearchDataSetNew.关键词Row)newRow; node_child_new.Data = gjc_row; node_list.Add(node_child_new); roots.Add(node_child_new); //roots = new ObservableCollection<Node>(roots.OrderBy(item => item.Data.关键词)); creat_tree(); }
public XpsUserControl(ScienceResearchDataSetNew.关键词Row _gjc, ScienceResearchDataSetNew.单词Row dc) { InitializeComponent(); xpsReferTabItemUserControl = new XpsReferTabItemUserControl(); xpsReferTabItemUserControl.type = "xps"; referGrid.Children.Add(xpsReferTabItemUserControl); gjc = _gjc; if (gjc == null) { title = "关键词=null" + ",单词=" + dc.单词; } else { title = "关键词=" + gjc.关键词 + ",单词=" + dc.单词; } keyword = dc.单词; UsedPaper paperUsedClass = new UsedPaper(); paperList = paperUsedClass.provide_paper("xps文件"); current_paper = 0; current_page = 0; selection("next"); //OpenFile(null); }
/// <summary> /// 构造函数 /// </summary> /// <param name="_gjc"></param> /// <param name="_dc_list"></param> /// <param name="_yd_id"></param> public YdPipeiReferTabItemUserControl(ScienceResearchDataSetNew.关键词Row _gjc, List <string> _dc_list, int _yd_id) { gjc = _gjc; dc_list = _dc_list; int dc_count = dc_list.Count; yd_id = _yd_id; string title; if (gjc == null) { title = "关键词=null" + ",单词={"; } else { title = "关键词=" + gjc.关键词 + ",单词={"; } foreach (string dc in dc_list) { title += dc + ","; } title = title.Substring(0, title.Length - 1); title += "}"; Run run = new Run(title); paragraph.Inlines.Add(run); flowDocument.Blocks.Add(paragraph); richTextBox.Document = flowDocument; get_pipei_result(); }
int dy_yujing = 7; //单词语境长度 /// <summary> /// 构造函数 /// </summary> /// <param name="_gjc"></param> /// <param name="dy"></param> public DyPipeiReferTabItemUserControl(ScienceResearchDataSetNew.关键词Row _gjc, ScienceResearchDataSetNew.短语Row dy) { gjc = _gjc; string title; if (gjc == null) { title = "关键词=null" + ",单词=" + dy.短语; } else { title = "关键词=" + gjc.关键词 + ",单词=" + dy.短语; } Run run = new Run(title); paragraph.Inlines.Add(run); flowDocument.Blocks.Add(paragraph); richTextBox.Document = flowDocument; keyword = dy.短语; //进行匹配 get_pipei_result(); //调整宽度 textboxInkcavasUserControl.paragraphRichTextBox.Width = MainWindow.yd_ck_width; textboxInkcavasUserControl.inkCanvas.Width = MainWindow.yd_ck_width; zhinengPipeiUserControl.referTabItemUserControl = this; zhinengPipeiUserControl.type = "refer"; }
int dc_yujing = 7; //单词语境长度 /// <summary> /// 构造函数 /// </summary> /// <param name="_gjc"></param> /// <param name="dc"></param> public DcPipeiReferTabItemUserControl(ScienceResearchDataSetNew.关键词Row _gjc, ScienceResearchDataSetNew.单词Row dc) { gjc = _gjc; string title; if (gjc == null) { title = "关键词=null" + ",单词=" + dc.单词; } else { title = "关键词=" + gjc.关键词 + ",单词=" + dc.单词; } Run run = new Run(title); paragraph.Inlines.Add(run); flowDocument.Blocks.Add(paragraph); richTextBox.Document = flowDocument; keyword = dc.单词; //进行匹配 get_pipei_result(); //着色 TextProcessClass.ChangeColor(ColorManager.color_mode_word, richTextBox, keyword, "前景"); //调整宽度 textboxInkcavasUserControl.paragraphRichTextBox.Width = MainWindow.yd_ck_width; textboxInkcavasUserControl.inkCanvas.Width = MainWindow.yd_ck_width; zhinengPipeiUserControl.referTabItemUserControl = this; zhinengPipeiUserControl.type = "refer"; }
private void createReferText_dy(ScienceResearchDataSetNew.关键词Row gjc_page, ScienceResearchDataSetNew.短语Row dy_page) { TabItem referTabItemTabItem; if (ModeSetup.pipeiDictionary["is_dy_ckwz_pipei"] == "是") { ReferTabItemUserControl referTabItemUserControl = new DyPipeiReferTabItemUserControl(gjc_page, dy_page); referTabItemTabItem = new TabItem(); referTabItemTabItem.Header = dy_page.短语; referTabItemTabItem.Content = referTabItemUserControl; referUserControl_using.referTabControl.Items.Add(referTabItemTabItem); referTabItemUserControl.zhinengPipeiUserControl.shibie_control(); } }
/// <summary> /// 为选择的关键词增加一个子关键词 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAddSonKeyword_Click(object sender, RoutedEventArgs e) { Node node_father = (Node)keywordTreeView.SelectedItem; int id_father = 0; Node node_child_new = new Node(); if (node_father == null) { MessageBox.Show("请选择一个节点"); } else { id_father = node_father.Data.ID; DataRow newRow; newRow = gjc_dt.NewRow(); newRow["关键词"] = keywordTextBox.Text; newRow["父节点"] = id_father; gjc_dt.Rows.Add(newRow); try { gjc_ta.Update(gjc_dt); } catch (Exception ex) { MessageBox.Show(ex.Message, "错误", MessageBoxButton.OK, MessageBoxImage.Warning); //gjc_ta.Fill(gjc_dt); gjc_dt.Rows.Remove(newRow); return; } newRow["ID"] = newDataId; ScienceResearchDataSetNew.关键词Row gjc_row = (ScienceResearchDataSetNew.关键词Row)newRow; node_child_new.Data = gjc_row; node_list.Add(node_child_new); node_father.Children.Add(node_child_new); Node node = node_father; node.Children = new ObservableCollection <Node>(node.Children.OrderBy(item => item.Data.关键词)); } }
/// <summary> /// 获取同单词word对应的段图、段文和Xps文件 /// </summary> /// <param name="danci"></param> public void pipei_dc(string danci) { if (danci != "") { set_refer(); danci = danci.Replace("\r", ""); danci = danci.Replace("\n", ""); var dc_list = (from dc in dc_dt where dc.单词 == danci select dc).ToList(); if (dc_list.Count == 0) { MessageBox.Show("不存在单词:" + danci); return; } var gjc_list = (from dc_gjc in dc_gjc_dt where dc_gjc.单词ID == dc_list[0].ID select dc_gjc.关键词Row).ToList(); if (gjc_list.Count == 0) { createReferTextXps(null, dc_list[0]); } else { string gjc_output_str = "选中的单词含有以下关键词:"; for (int i = 0; i < gjc_list.Count; i++) { //对关键词对应的语段生成段图和段文 if (ModeSetup.pipeiDictionary["is_dc_yd_pipei"] == "是") { var yd_list = (from gjc in gjc_dt join yd_gjc in MainWindow.yd_gjc_dt on gjc.ID equals yd_gjc.关键词ID join yd in MainWindow.yd_dt on yd_gjc.语段ID equals yd.ID where gjc.ID == gjc_list[i].ID select yd).ToList(); for (int j = 0; j < yd_list.Count; j++) { //段图 if (yd_list[j].图片 != "") { ParagraphFigureUserControl paragraphFigureUserControl = new ParagraphFigureUserControl(); ParaResourceClass_PaperDataGrid paraResourceClass_PaperDataGrid = new ParaResourceClass_PaperDataGrid(); paraResourceClass_PaperDataGrid.creat_figure(paragraphFigureUserControl, yd_list[j]); TabItem referTabItemTabItem = new TabItem(); referTabItemTabItem.Header = yd_list[j].ID; referTabItemTabItem.Content = paragraphFigureUserControl; referUserControl_using.referTabControl.Items.Add(referTabItemTabItem); } //段文 if (yd_list[j].语段 != "") { ReferUserControl referUserControl = new ReferUserControl("yd"); ParaResourceClass_PaperDataGrid paraResourceClass_PaperDataGrid = new ParaResourceClass_PaperDataGrid(); paraResourceClass_PaperDataGrid.creat_text(yd_list[j], referUserControl); TabItem referTabItemTabItem = new TabItem(); referTabItemTabItem.Header = yd_list[j].ID; referTabItemTabItem.Content = referUserControl; referUserControl_using.referTabControl.Items.Add(referTabItemTabItem); } } } //ReferText和Xps gjc_output_str += gjc_list[i].关键词 + ","; var dc_list2 = (from dc_gjc in dc_gjc_dt where dc_gjc.关键词ID == gjc_list[i].ID select dc_gjc.单词Row).ToList(); for (int j = 0; j < dc_list2.Count; j++) { //对该单词生成一个ReferText和Xps标签页 ScienceResearchDataSetNew.关键词Row gjc_page = gjc_list[i]; ScienceResearchDataSetNew.单词Row dc_page = dc_list2[j]; createReferTextXps(gjc_page, dc_page); } //对于文章创作标签页,跳参后要将关键词标注 if (type == "paper") { //对keywordDataGrid2中的选项做标识 for (int j = 0; j < keywordDataGrid2.Items.Count; j++) { ScienceResearchDataSetNew.关键词Row drv = keywordDataGrid2.Items[j] as ScienceResearchDataSetNew.关键词Row; string gjc = drv.关键词; if (gjc == gjc_list[i].关键词) { DataGridRow row = (DataGridRow)keywordDataGrid2.ItemContainerGenerator.ContainerFromIndex(j); row.Foreground = new SolidColorBrush(ColorManager.color_mode_word); } } } } } if (referUserControl_using.referTabControl.Items.Count > 0) { referUserControl_using.referTabControl.SelectedIndex = 0; } } }