123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321 |
- using System;
- using System.Drawing;
- using System.Windows.Forms;
- using FastReport.Utils;
- using FastReport.Design;
- namespace FastReport.Forms
- {
- internal partial class HyperlinkEditorForm : BaseDialogForm
- {
- private ReportComponentBase reportComponent;
- private Hyperlink hyperlink;
- public ReportComponentBase ReportComponent
- {
- get { return reportComponent; }
- set
- {
- reportComponent = value;
- hyperlink = value.Hyperlink;
- UpdateControls();
- if (reportComponent.FlagProvidesHyperlinkValue)
- IsMatrixHyperlink = true;
- }
- }
- public Hyperlink Hyperlink
- {
- get { return hyperlink; }
- }
- public bool ModifyAppearance
- {
- get { return cbModifyAppearance.Checked; }
- }
- public bool IsMatrixHyperlink
- {
- get { return false; }
- set
- {
- if (value)
- {
- tbParameterExpression1.Enabled = false;
- tbParameterExpression2.Enabled = false;
- tbParameterValue1.Enabled = false;
- tbParameterValue2.Enabled = false;
- }
- }
- }
- private Report Report
- {
- get { return reportComponent.Report; }
- }
- private void UpdateControls()
- {
- cbxReportPage.PopulateList(Report, typeof(ReportPage), ReportComponent.Page);
- cbxReportParameter2.Report = Report;
- switch (Hyperlink.Kind)
- {
- case HyperlinkKind.URL:
- pageControl1.ActivePageIndex = 0;
- tbUrlValue.Text = Hyperlink.Value;
- tbUrlExpression.Text = Hyperlink.Expression;
- break;
- case HyperlinkKind.PageNumber:
- pageControl1.ActivePageIndex = 1;
- tbPageNumberValue.Text = Hyperlink.Value;
- tbPageNumberExpression.Text = Hyperlink.Expression;
- break;
- case HyperlinkKind.Bookmark:
- pageControl1.ActivePageIndex = 2;
- tbBookmarkValue.Text = Hyperlink.Value;
- tbBookmarkExpression.Text = Hyperlink.Expression;
- break;
- case HyperlinkKind.DetailReport:
- pageControl1.ActivePageIndex = 3;
- tbReport.Text = Hyperlink.DetailReportName;
- cbxReportParameter1.Text = Hyperlink.ReportParameter;
- tbParameterValue1.Text = Hyperlink.Value;
- tbParameterExpression1.Text = Hyperlink.Expression;
- break;
- case HyperlinkKind.DetailPage:
- pageControl1.ActivePageIndex = 4;
- cbxReportPage.SelectedItem = Report.FindObject(Hyperlink.DetailPageName);
- cbxReportParameter2.Text = Hyperlink.ReportParameter;
- tbParameterValue2.Text = Hyperlink.Value;
- tbParameterExpression2.Text = Hyperlink.Expression;
- break;
- case HyperlinkKind.Custom:
- pageControl1.ActivePageIndex = 5;
- tbCustomValue.Text = Hyperlink.Value;
- tbCustomExpression.Text = Hyperlink.Expression;
- break;
- }
- newtabCheckBox.Checked = Hyperlink.OpenLinkInNewTab;
- }
- private void UpdateHyperlink()
- {
- switch (pageControl1.ActivePageIndex)
- {
- case 0:
- Hyperlink.Kind = HyperlinkKind.URL;
- Hyperlink.Value = tbUrlValue.Text;
- Hyperlink.Expression = tbUrlExpression.Text;
- Hyperlink.OpenLinkInNewTab = newtabCheckBox.Checked;
- break;
- case 1:
- Hyperlink.Kind = HyperlinkKind.PageNumber;
- Hyperlink.Value = tbPageNumberValue.Text;
- Hyperlink.Expression = tbPageNumberExpression.Text;
- break;
- case 2:
- Hyperlink.Kind = HyperlinkKind.Bookmark;
- Hyperlink.Value = tbBookmarkValue.Text;
- Hyperlink.Expression = tbBookmarkExpression.Text;
- break;
- case 3:
- Hyperlink.Kind = HyperlinkKind.DetailReport;
- Hyperlink.DetailReportName = tbReport.Text;
- Hyperlink.ReportParameter = cbxReportParameter1.Text;
- Hyperlink.Value = tbParameterValue1.Text;
- Hyperlink.Expression = tbParameterExpression1.Text;
- break;
- case 4:
- Hyperlink.Kind = HyperlinkKind.DetailPage;
- Hyperlink.DetailPageName = cbxReportPage.SelectedObject == null ?
- "" :
- ((ReportPage)cbxReportPage.SelectedItem).Name;
- Hyperlink.ReportParameter = cbxReportParameter2.Text;
- Hyperlink.Value = tbParameterValue2.Text;
- Hyperlink.Expression = tbParameterExpression2.Text;
- if (cbxReportPage.SelectedObject != null)
- ((ReportPage)cbxReportPage.SelectedItem).Visible = false;
- break;
- case 5:
- Hyperlink.Kind = HyperlinkKind.Custom;
- Hyperlink.Value = tbCustomValue.Text;
- Hyperlink.Expression = tbCustomExpression.Text;
- break;
- }
- }
- private void pageControl1_PageSelected(object sender, EventArgs e)
- {
- string hint = "";
- switch (pageControl1.ActivePageIndex)
- {
- case 0:
- hint = "HintUrl";
- break;
- case 1:
- hint = "HintPageNumber";
- break;
- case 2:
- hint = "HintBookmark";
- break;
- case 3:
- hint = "HintReport";
- break;
- case 4:
- hint = "HintReportPage";
- break;
- case 5:
- hint = "HintCustom";
- break;
- }
- lblHint2.Text = Res.Get("Forms,HyperlinkEditor," + hint);
- }
- private void tbReport_ButtonClick(object sender, EventArgs e)
- {
- OpenSaveDialogEventArgs args = new OpenSaveDialogEventArgs(Report.Designer);
- args.FileName = tbReport.Text;
- Config.DesignerSettings.OnCustomOpenDialog(Report.Designer, args);
- if (!args.Cancel)
- {
- tbReport.Text = args.FileName;
- cbxReportParameter1.Text = "";
- }
- }
- private void cbxReportParameter1_DropDownOpening(object sender, EventArgs e)
- {
- if (String.IsNullOrEmpty(tbReport.Text))
- {
- cbxReportParameter1.Report = Report;
- return;
- }
- using (Report report = new Report())
- {
- // open report
- OpenSaveReportEventArgs args = new OpenSaveReportEventArgs(report, tbReport.Text, null, false);
- Config.DesignerSettings.OnCustomOpenReport(Report.Designer, args);
- cbxReportParameter1.Report = report;
- }
- }
- private void tbUrlExpression_ButtonClick(object sender, EventArgs e)
- {
- tbUrlExpression.Text = Editors.EditExpression(Report, tbUrlExpression.Text);
- }
- private void tbPageNumberExpression_ButtonClick(object sender, EventArgs e)
- {
- tbPageNumberExpression.Text = Editors.EditExpression(Report, tbPageNumberExpression.Text);
- }
- private void tbBookmarkExpression_ButtonClick(object sender, EventArgs e)
- {
- tbBookmarkExpression.Text = Editors.EditExpression(Report, tbBookmarkExpression.Text);
- }
- private void tbParameterExpression1_ButtonClick(object sender, EventArgs e)
- {
- tbParameterExpression1.Text = Editors.EditExpression(Report, tbParameterExpression1.Text);
- }
- private void tbParameterExpression2_ButtonClick(object sender, EventArgs e)
- {
- tbParameterExpression2.Text = Editors.EditExpression(Report, tbParameterExpression2.Text);
- }
- private void tbCustomExpression_ButtonClick(object sender, EventArgs e)
- {
- tbCustomExpression.Text = Editors.EditExpression(Report, tbCustomExpression.Text);
- }
- private void HyperlinkEditorForm_FormClosed(object sender, FormClosedEventArgs e)
- {
- if (DialogResult == DialogResult.OK)
- UpdateHyperlink();
- }
- public override void Localize()
- {
- base.Localize();
- MyRes res = new MyRes("Forms,HyperlinkEditor");
- Text = res.Get("");
- pnUrl.Text = res.Get("Url");
- lblUrl.Text = res.Get("UrlValue");
- lblUrlExpression.Text = res.Get("UrlExpression");
- pnPageNumber.Text = res.Get("PageNumber");
- lblPageNumber.Text = res.Get("PageNumberValue");
- lblPageNumberExpression.Text = res.Get("PageNumberExpression");
- pnBookmark.Text = res.Get("Bookmark");
- lblBookmark.Text = res.Get("BookmarkValue");
- lblBookmarkExpression.Text = res.Get("BookmarkExpression");
- pnReport.Text = res.Get("Report");
- lblReport.Text = res.Get("ReportName");
- lblReportParameter1.Text = res.Get("ParameterName");
- lblParameterValue1.Text = res.Get("ParameterValue");
- lblParameterExpression1.Text = res.Get("ParameterExpression");
- pnReportPage.Text = res.Get("ReportPage");
- lblReportPage.Text = res.Get("PageName");
- lblReportParameter2.Text = res.Get("ParameterName");
- lblParameterValue2.Text = res.Get("ParameterValue");
- lblParameterExpression2.Text = res.Get("ParameterExpression");
- pnCustom.Text = res.Get("Custom");
- lblCustom.Text = res.Get("CustomValue");
- lblCustomExpression.Text = res.Get("CustomExpression");
- lblHint1.Text = res.Get("Hint");
- cbModifyAppearance.Text = res.Get("ModifyAppearance");
- newtabCheckBox.Text = res.Get("OpenLinkInNewTab");
- }
- public override void UpdateDpiDependencies()
- {
- base.UpdateDpiDependencies();
- cbxReportPage.ItemHeight = this.LogicalToDevice(19);
- lblHint1.Font = new Font(Font, FontStyle.Bold);
- tbUrlExpression.Image = GetImage(52);
- tbPageNumberExpression.Image = GetImage(52);
- tbBookmarkExpression.Image = GetImage(52);
- tbReport.Image = GetImage(1);
- tbParameterExpression1.Image = GetImage(52);
- tbParameterExpression2.Image = GetImage(52);
- tbCustomExpression.Image = GetImage(52);
- }
- public HyperlinkEditorForm()
- {
- InitializeComponent();
- Localize();
- UIUtils.CheckRTL(this);
- UpdateDpiDependencies();
- }
- }
- }
|