C2019-047 - Show figure size under tags when adding a new figure. #336

Merged
jjenko merged 3 commits from C2019-047 into Development 2024-06-07 15:04:14 -04:00
2 changed files with 67 additions and 18 deletions

View File

@ -56,6 +56,9 @@ namespace Volian.Controls.Library
private ROFSTLookup.rochild selectedChld;
private DisplayTags displayTags;
#endregion
#region Properties
@ -268,6 +271,10 @@ namespace Volian.Controls.Library
_searchTimer.Stop();
}
// Initialize the DisplayTags object
displayTags = new DisplayTags();
_progressBar = null;
}
@ -968,7 +975,10 @@ namespace Volian.Controls.Library
errormsg = (replacingRO) ? "a graphics RO with a non-graphcis RO." : "a Graphics RO in an non-Figure or a non-Accessory Page type.";
//TODO: Prompt user to insert a new substep type that handles x/y Plots and place this RO into it
goodToGo = false;
}
}
break;
}

View File

@ -383,6 +383,8 @@ namespace Volian.Controls.Library
cmbCheckoff.Enabled = false;
}
// show the part of panel for resizing a figure (if figure already exists: MyImage is set for non-RO existing images & content.text has a link in it)
if (MyEditItem.MyItemInfo.IsFigure && (MyEditItem.MyItemInfo.MyContent.MyImage != null || MyEditItem.MyItemInfo.MyContent.Text.ToUpper().Contains("#LINK")))
{
@ -391,20 +393,38 @@ namespace Volian.Controls.Library
int wd = (MyEditItem as ImageItem).MyPictureBox.Width;
_origFigureSizeRatio = (float)ht / (float)wd; // use this to keep width/height ratio while changing size.
float wd1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageWidth - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.LeftMargin;
float ht1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageLength - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.TopMargin - 36; // 36 is to allow for end message
float wd2 = Math.Min(wd1, ht1 / _origFigureSizeRatio); // keep original ratio
trBarFS.Maximum = Math.Max((int)wd2, trBarFS.Maximum);
if (wd > trBarFS.Maximum) trBarFS.Maximum = wd + 1;
trBarFS.Minimum = Math.Min(wd, 72);
trBarFS.Value = (int)wd;
ImageItem ii = MyEditItem as ImageItem;
_origFigureSizeWidth = ii.MyPictureBox.Width;
tbFSWd.Text = ii.MyPictureBox.Width.ToString();
tbFSHt.Text = ii.MyPictureBox.Height.ToString();
float ht1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageLength - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.TopMargin - 36; // 36 is to allow for end message
float wd2 = Math.Min(wd1, ht1 / _origFigureSizeRatio); // keep original ratio
SetFigure(wd1, wd2);
//trBarFS.Maximum = Math.Max((int)wd2, trBarFS.Maximum);
//if (wd > trBarFS.Maximum) trBarFS.Maximum = wd + 1;
//trBarFS.Minimum = Math.Min(wd, 72);
//trBarFS.Value = (int)wd;
//ImageItem ii = MyEditItem as ImageItem;
//_origFigureSizeWidth = ii.MyPictureBox.Width;
//tbFSWd.Text = ii.MyPictureBox.Width.ToString();
//tbFSHt.Text = ii.MyPictureBox.Height.ToString();
}
else
{
groupPanelFigSize.Visible = false;
if (MyEditItem.MyItemInfo.IsFigure)
{
//No Current image, but still show groupPanelFigSize, will adjust when file is selected, but let's give it a default
//size on using the picturebox.
groupPanelFigSize.Visible = true;
int ht = (MyEditItem as ImageItem).MyPictureBox.Height;
int wd = (MyEditItem as ImageItem).MyPictureBox.Width;
_origFigureSizeRatio = (float)ht / (float)wd; // use this to keep width/height ratio while changing size.
float wd1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageWidth - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.LeftMargin;
float ht1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageLength - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.TopMargin - 36; // 36 is to allow for end message
float wd2 = Math.Min(wd1, ht1 / _origFigureSizeRatio); // keep original ratio
SetFigure(wd1, wd2);
}
else
groupPanelFigSize.Visible = false;
}
// change bar setting depends on whether step has changed (dts) as compared to date/time off the
@ -516,6 +536,22 @@ namespace Volian.Controls.Library
}
_Initalizing = false;
}
public void SetFigure(double wd, double wd2)
{
// Check MyEditItem type and cast if needed
ImageItem ii = MyEditItem as ImageItem;
if (ii == null) return;
// Set the values as needed
trBarFS.Maximum = Math.Max((int)wd2, trBarFS.Maximum);
if (wd > trBarFS.Maximum) trBarFS.Maximum = (int)wd + 1;
trBarFS.Minimum = Math.Min((int)wd, 72);
trBarFS.Value = (int)wd;
_origFigureSizeWidth = ii.MyPictureBox.Width;
tbFSWd.Text = ii.MyPictureBox.Width.ToString();
tbFSHt.Text = ii.MyPictureBox.Height.ToString();
}
private int DoListStepTypes(FormatData fmtdata, StepData topType, string curType)
{
int cursel=-1;
@ -871,11 +907,14 @@ namespace Volian.Controls.Library
// restore the orignal image size
private void btnFSrestore_Click(object sender, EventArgs e)
{
tbFSWd.Text = _origFigureSizeWidth.ToString();
int ht = (int)(_origFigureSizeRatio * _origFigureSizeWidth);
tbFSHt.Text = ht.ToString();
(MyEditItem as ImageItem).SizeImage(_origFigureSizeWidth, ht);
trBarFS.Value = _origFigureSizeWidth;
if (_origFigureSizeWidth != 0)
{
tbFSWd.Text = _origFigureSizeWidth.ToString();
int ht = (int)(_origFigureSizeRatio * _origFigureSizeWidth);
tbFSHt.Text = ht.ToString();
(MyEditItem as ImageItem).SizeImage(_origFigureSizeWidth, ht);
trBarFS.Value = _origFigureSizeWidth;
}
}
// user entered width in text box, this event gets called on leave of text box.
private void tbFSWd_Leave(object sender, EventArgs e)