feat(dimstyle): expand Dimension Style editor to the full field set
Adds the remaining ~40 DIMSTYLE variables across the tabs (and a new Alternate Units tab): dim/ext line colors+lineweights, fixed-length ext lines, separate arrow blocks, arc symbol, jog angle, text color/justify/ vertical pos/fill/direction, fit options (DIMATFIT/DIMTIX/DIMSOXD/DIMTMOVE/ DIMUPT/DIMTOFL/DIMFIT), decimal separator, rounding, zero suppression, fraction + angular units, alternate units, and tolerance vert-just/zero suppression. Only the arrowhead-block / extension-line-linetype Handle references are left (they need a block/linetype picker). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
4675a439da
commit
a21caf821b
4 changed files with 379 additions and 0 deletions
127
src/app/mod.rs
127
src/app/mod.rs
|
|
@ -391,6 +391,53 @@ pub(super) struct OpenCADStudio {
|
||||||
ds_dimtdec: String,
|
ds_dimtdec: String,
|
||||||
ds_dimtfac: String,
|
ds_dimtfac: String,
|
||||||
ds_annotative: bool,
|
ds_annotative: bool,
|
||||||
|
// Lines (colors / lineweights / fixed-length extension)
|
||||||
|
ds_dimclrd: String,
|
||||||
|
ds_dimlwd: String,
|
||||||
|
ds_dimclre: String,
|
||||||
|
ds_dimlwe: String,
|
||||||
|
ds_dimfxl: String,
|
||||||
|
ds_dimfxlon: bool,
|
||||||
|
// Symbols & Arrows
|
||||||
|
ds_dimsah: bool,
|
||||||
|
ds_dimarcsym: String,
|
||||||
|
ds_dimjogang: String,
|
||||||
|
// Text
|
||||||
|
ds_dimclrt: String,
|
||||||
|
ds_dimjust: String,
|
||||||
|
ds_dimtvp: String,
|
||||||
|
ds_dimtfill: String,
|
||||||
|
ds_dimtfillclr: String,
|
||||||
|
ds_dimtxtdirection: bool,
|
||||||
|
// Fit
|
||||||
|
ds_dimatfit: String,
|
||||||
|
ds_dimtix: bool,
|
||||||
|
ds_dimsoxd: bool,
|
||||||
|
ds_dimtmove: String,
|
||||||
|
ds_dimupt: bool,
|
||||||
|
ds_dimtofl: bool,
|
||||||
|
ds_dimfit: String,
|
||||||
|
// Primary units
|
||||||
|
ds_dimdsep: String,
|
||||||
|
ds_dimrnd: String,
|
||||||
|
ds_dimzin: String,
|
||||||
|
ds_dimfrac: String,
|
||||||
|
ds_dimaunit: String,
|
||||||
|
ds_dimadec: String,
|
||||||
|
ds_dimazin: String,
|
||||||
|
// Alternate units
|
||||||
|
ds_dimalt: bool,
|
||||||
|
ds_dimaltf: String,
|
||||||
|
ds_dimaltd: String,
|
||||||
|
ds_dimaltu: String,
|
||||||
|
ds_dimalttd: String,
|
||||||
|
ds_dimaltrnd: String,
|
||||||
|
ds_dimapost: String,
|
||||||
|
ds_dimaltz: String,
|
||||||
|
ds_dimalttz: String,
|
||||||
|
// Tolerances (extra)
|
||||||
|
ds_dimtolj: String,
|
||||||
|
ds_dimtzin: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// What triggered the "unsaved changes" dialog.
|
/// What triggered the "unsaved changes" dialog.
|
||||||
|
|
@ -434,6 +481,46 @@ pub enum DsField {
|
||||||
Dimtdec,
|
Dimtdec,
|
||||||
Dimtfac,
|
Dimtfac,
|
||||||
Annotative,
|
Annotative,
|
||||||
|
Dimclrd,
|
||||||
|
Dimlwd,
|
||||||
|
Dimclre,
|
||||||
|
Dimlwe,
|
||||||
|
Dimfxl,
|
||||||
|
Dimfxlon,
|
||||||
|
Dimsah,
|
||||||
|
Dimarcsym,
|
||||||
|
Dimjogang,
|
||||||
|
Dimclrt,
|
||||||
|
Dimjust,
|
||||||
|
Dimtvp,
|
||||||
|
Dimtfill,
|
||||||
|
Dimtfillclr,
|
||||||
|
Dimtxtdirection,
|
||||||
|
Dimatfit,
|
||||||
|
Dimtix,
|
||||||
|
Dimsoxd,
|
||||||
|
Dimtmove,
|
||||||
|
Dimupt,
|
||||||
|
Dimtofl,
|
||||||
|
Dimfit,
|
||||||
|
Dimdsep,
|
||||||
|
Dimrnd,
|
||||||
|
Dimzin,
|
||||||
|
Dimfrac,
|
||||||
|
Dimaunit,
|
||||||
|
Dimadec,
|
||||||
|
Dimazin,
|
||||||
|
Dimalt,
|
||||||
|
Dimaltf,
|
||||||
|
Dimaltd,
|
||||||
|
Dimaltu,
|
||||||
|
Dimalttd,
|
||||||
|
Dimaltrnd,
|
||||||
|
Dimapost,
|
||||||
|
Dimaltz,
|
||||||
|
Dimalttz,
|
||||||
|
Dimtolj,
|
||||||
|
Dimtzin,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
|
|
@ -1105,6 +1192,46 @@ impl OpenCADStudio {
|
||||||
ds_dimtdec: "2".to_string(),
|
ds_dimtdec: "2".to_string(),
|
||||||
ds_dimtfac: "1".to_string(),
|
ds_dimtfac: "1".to_string(),
|
||||||
ds_annotative: false,
|
ds_annotative: false,
|
||||||
|
ds_dimclrd: "0".to_string(),
|
||||||
|
ds_dimlwd: "-2".to_string(),
|
||||||
|
ds_dimclre: "0".to_string(),
|
||||||
|
ds_dimlwe: "-2".to_string(),
|
||||||
|
ds_dimfxl: "1".to_string(),
|
||||||
|
ds_dimfxlon: false,
|
||||||
|
ds_dimsah: false,
|
||||||
|
ds_dimarcsym: "0".to_string(),
|
||||||
|
ds_dimjogang: "45".to_string(),
|
||||||
|
ds_dimclrt: "0".to_string(),
|
||||||
|
ds_dimjust: "0".to_string(),
|
||||||
|
ds_dimtvp: "0".to_string(),
|
||||||
|
ds_dimtfill: "0".to_string(),
|
||||||
|
ds_dimtfillclr: "0".to_string(),
|
||||||
|
ds_dimtxtdirection: false,
|
||||||
|
ds_dimatfit: "3".to_string(),
|
||||||
|
ds_dimtix: false,
|
||||||
|
ds_dimsoxd: false,
|
||||||
|
ds_dimtmove: "0".to_string(),
|
||||||
|
ds_dimupt: false,
|
||||||
|
ds_dimtofl: false,
|
||||||
|
ds_dimfit: "3".to_string(),
|
||||||
|
ds_dimdsep: "46".to_string(),
|
||||||
|
ds_dimrnd: "0".to_string(),
|
||||||
|
ds_dimzin: "0".to_string(),
|
||||||
|
ds_dimfrac: "0".to_string(),
|
||||||
|
ds_dimaunit: "0".to_string(),
|
||||||
|
ds_dimadec: "0".to_string(),
|
||||||
|
ds_dimazin: "0".to_string(),
|
||||||
|
ds_dimalt: false,
|
||||||
|
ds_dimaltf: "25.4".to_string(),
|
||||||
|
ds_dimaltd: "2".to_string(),
|
||||||
|
ds_dimaltu: "2".to_string(),
|
||||||
|
ds_dimalttd: "2".to_string(),
|
||||||
|
ds_dimaltrnd: "0".to_string(),
|
||||||
|
ds_dimapost: String::new(),
|
||||||
|
ds_dimaltz: "0".to_string(),
|
||||||
|
ds_dimalttz: "0".to_string(),
|
||||||
|
ds_dimtolj: "1".to_string(),
|
||||||
|
ds_dimtzin: "0".to_string(),
|
||||||
};
|
};
|
||||||
app.sync_ribbon_layers();
|
app.sync_ribbon_layers();
|
||||||
app
|
app
|
||||||
|
|
|
||||||
|
|
@ -6517,6 +6517,46 @@ impl OpenCADStudio {
|
||||||
self.ds_dimtdec = format!("{}", ds.dimtdec);
|
self.ds_dimtdec = format!("{}", ds.dimtdec);
|
||||||
self.ds_dimtfac = format!("{}", ds.dimtfac);
|
self.ds_dimtfac = format!("{}", ds.dimtfac);
|
||||||
self.ds_annotative = ds.annotative;
|
self.ds_annotative = ds.annotative;
|
||||||
|
self.ds_dimclrd = format!("{}", ds.dimclrd);
|
||||||
|
self.ds_dimlwd = format!("{}", ds.dimlwd);
|
||||||
|
self.ds_dimclre = format!("{}", ds.dimclre);
|
||||||
|
self.ds_dimlwe = format!("{}", ds.dimlwe);
|
||||||
|
self.ds_dimfxl = format!("{}", ds.dimfxl);
|
||||||
|
self.ds_dimfxlon = ds.dimfxlon;
|
||||||
|
self.ds_dimsah = ds.dimsah;
|
||||||
|
self.ds_dimarcsym = format!("{}", ds.dimarcsym);
|
||||||
|
self.ds_dimjogang = format!("{}", ds.dimjogang.to_degrees());
|
||||||
|
self.ds_dimclrt = format!("{}", ds.dimclrt);
|
||||||
|
self.ds_dimjust = format!("{}", ds.dimjust);
|
||||||
|
self.ds_dimtvp = format!("{}", ds.dimtvp);
|
||||||
|
self.ds_dimtfill = format!("{}", ds.dimtfill);
|
||||||
|
self.ds_dimtfillclr = format!("{}", ds.dimtfillclr);
|
||||||
|
self.ds_dimtxtdirection = ds.dimtxtdirection;
|
||||||
|
self.ds_dimatfit = format!("{}", ds.dimatfit);
|
||||||
|
self.ds_dimtix = ds.dimtix;
|
||||||
|
self.ds_dimsoxd = ds.dimsoxd;
|
||||||
|
self.ds_dimtmove = format!("{}", ds.dimtmove);
|
||||||
|
self.ds_dimupt = ds.dimupt;
|
||||||
|
self.ds_dimtofl = ds.dimtofl;
|
||||||
|
self.ds_dimfit = format!("{}", ds.dimfit);
|
||||||
|
self.ds_dimdsep = format!("{}", ds.dimdsep);
|
||||||
|
self.ds_dimrnd = format!("{}", ds.dimrnd);
|
||||||
|
self.ds_dimzin = format!("{}", ds.dimzin);
|
||||||
|
self.ds_dimfrac = format!("{}", ds.dimfrac);
|
||||||
|
self.ds_dimaunit = format!("{}", ds.dimaunit);
|
||||||
|
self.ds_dimadec = format!("{}", ds.dimadec);
|
||||||
|
self.ds_dimazin = format!("{}", ds.dimazin);
|
||||||
|
self.ds_dimalt = ds.dimalt;
|
||||||
|
self.ds_dimaltf = format!("{}", ds.dimaltf);
|
||||||
|
self.ds_dimaltd = format!("{}", ds.dimaltd);
|
||||||
|
self.ds_dimaltu = format!("{}", ds.dimaltu);
|
||||||
|
self.ds_dimalttd = format!("{}", ds.dimalttd);
|
||||||
|
self.ds_dimaltrnd = format!("{}", ds.dimaltrnd);
|
||||||
|
self.ds_dimapost = ds.dimapost.clone();
|
||||||
|
self.ds_dimaltz = format!("{}", ds.dimaltz);
|
||||||
|
self.ds_dimalttz = format!("{}", ds.dimalttz);
|
||||||
|
self.ds_dimtolj = format!("{}", ds.dimtolj);
|
||||||
|
self.ds_dimtzin = format!("{}", ds.dimtzin);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Write edit buffers back into the selected dim style document entry.
|
/// Write edit buffers back into the selected dim style document entry.
|
||||||
|
|
@ -6569,6 +6609,48 @@ impl OpenCADStudio {
|
||||||
ds.dimpost = self.ds_dimpost.clone();
|
ds.dimpost = self.ds_dimpost.clone();
|
||||||
ds.dimtxsty = self.ds_dimtxsty.clone();
|
ds.dimtxsty = self.ds_dimtxsty.clone();
|
||||||
ds.annotative = self.ds_annotative;
|
ds.annotative = self.ds_annotative;
|
||||||
|
set_i16!(dimclrd, self.ds_dimclrd);
|
||||||
|
set_i16!(dimlwd, self.ds_dimlwd);
|
||||||
|
set_i16!(dimclre, self.ds_dimclre);
|
||||||
|
set_i16!(dimlwe, self.ds_dimlwe);
|
||||||
|
set_f64!(dimfxl, self.ds_dimfxl);
|
||||||
|
set_i16!(dimarcsym, self.ds_dimarcsym);
|
||||||
|
set_i16!(dimclrt, self.ds_dimclrt);
|
||||||
|
set_i16!(dimjust, self.ds_dimjust);
|
||||||
|
set_f64!(dimtvp, self.ds_dimtvp);
|
||||||
|
set_i16!(dimtfill, self.ds_dimtfill);
|
||||||
|
set_i16!(dimtfillclr, self.ds_dimtfillclr);
|
||||||
|
set_i16!(dimatfit, self.ds_dimatfit);
|
||||||
|
set_i16!(dimtmove, self.ds_dimtmove);
|
||||||
|
set_i16!(dimfit, self.ds_dimfit);
|
||||||
|
set_i16!(dimdsep, self.ds_dimdsep);
|
||||||
|
set_f64!(dimrnd, self.ds_dimrnd);
|
||||||
|
set_i16!(dimzin, self.ds_dimzin);
|
||||||
|
set_i16!(dimfrac, self.ds_dimfrac);
|
||||||
|
set_i16!(dimaunit, self.ds_dimaunit);
|
||||||
|
set_i16!(dimadec, self.ds_dimadec);
|
||||||
|
set_i16!(dimazin, self.ds_dimazin);
|
||||||
|
set_f64!(dimaltf, self.ds_dimaltf);
|
||||||
|
set_i16!(dimaltd, self.ds_dimaltd);
|
||||||
|
set_i16!(dimaltu, self.ds_dimaltu);
|
||||||
|
set_i16!(dimalttd, self.ds_dimalttd);
|
||||||
|
set_f64!(dimaltrnd, self.ds_dimaltrnd);
|
||||||
|
set_i16!(dimaltz, self.ds_dimaltz);
|
||||||
|
set_i16!(dimalttz, self.ds_dimalttz);
|
||||||
|
set_i16!(dimtolj, self.ds_dimtolj);
|
||||||
|
set_i16!(dimtzin, self.ds_dimtzin);
|
||||||
|
if let Ok(v) = self.ds_dimjogang.trim().parse::<f64>() {
|
||||||
|
ds.dimjogang = v.to_radians();
|
||||||
|
}
|
||||||
|
ds.dimfxlon = self.ds_dimfxlon;
|
||||||
|
ds.dimsah = self.ds_dimsah;
|
||||||
|
ds.dimtxtdirection = self.ds_dimtxtdirection;
|
||||||
|
ds.dimtix = self.ds_dimtix;
|
||||||
|
ds.dimsoxd = self.ds_dimsoxd;
|
||||||
|
ds.dimupt = self.ds_dimupt;
|
||||||
|
ds.dimtofl = self.ds_dimtofl;
|
||||||
|
ds.dimalt = self.ds_dimalt;
|
||||||
|
ds.dimapost = self.ds_dimapost.clone();
|
||||||
self.tabs[tab].dirty = true;
|
self.tabs[tab].dirty = true;
|
||||||
self.command_line
|
self.command_line
|
||||||
.push_output(&format!("DimStyle '{}' updated.", self.dimstyle_selected));
|
.push_output(&format!("DimStyle '{}' updated.", self.dimstyle_selected));
|
||||||
|
|
@ -6598,6 +6680,38 @@ impl OpenCADStudio {
|
||||||
Dimtm => self.ds_dimtm = val,
|
Dimtm => self.ds_dimtm = val,
|
||||||
Dimtdec => self.ds_dimtdec = val,
|
Dimtdec => self.ds_dimtdec = val,
|
||||||
Dimtfac => self.ds_dimtfac = val,
|
Dimtfac => self.ds_dimtfac = val,
|
||||||
|
Dimclrd => self.ds_dimclrd = val,
|
||||||
|
Dimlwd => self.ds_dimlwd = val,
|
||||||
|
Dimclre => self.ds_dimclre = val,
|
||||||
|
Dimlwe => self.ds_dimlwe = val,
|
||||||
|
Dimfxl => self.ds_dimfxl = val,
|
||||||
|
Dimarcsym => self.ds_dimarcsym = val,
|
||||||
|
Dimjogang => self.ds_dimjogang = val,
|
||||||
|
Dimclrt => self.ds_dimclrt = val,
|
||||||
|
Dimjust => self.ds_dimjust = val,
|
||||||
|
Dimtvp => self.ds_dimtvp = val,
|
||||||
|
Dimtfill => self.ds_dimtfill = val,
|
||||||
|
Dimtfillclr => self.ds_dimtfillclr = val,
|
||||||
|
Dimatfit => self.ds_dimatfit = val,
|
||||||
|
Dimtmove => self.ds_dimtmove = val,
|
||||||
|
Dimfit => self.ds_dimfit = val,
|
||||||
|
Dimdsep => self.ds_dimdsep = val,
|
||||||
|
Dimrnd => self.ds_dimrnd = val,
|
||||||
|
Dimzin => self.ds_dimzin = val,
|
||||||
|
Dimfrac => self.ds_dimfrac = val,
|
||||||
|
Dimaunit => self.ds_dimaunit = val,
|
||||||
|
Dimadec => self.ds_dimadec = val,
|
||||||
|
Dimazin => self.ds_dimazin = val,
|
||||||
|
Dimaltf => self.ds_dimaltf = val,
|
||||||
|
Dimaltd => self.ds_dimaltd = val,
|
||||||
|
Dimaltu => self.ds_dimaltu = val,
|
||||||
|
Dimalttd => self.ds_dimalttd = val,
|
||||||
|
Dimaltrnd => self.ds_dimaltrnd = val,
|
||||||
|
Dimapost => self.ds_dimapost = val,
|
||||||
|
Dimaltz => self.ds_dimaltz = val,
|
||||||
|
Dimalttz => self.ds_dimalttz = val,
|
||||||
|
Dimtolj => self.ds_dimtolj = val,
|
||||||
|
Dimtzin => self.ds_dimtzin = val,
|
||||||
// Bool fields — no-op for string edit
|
// Bool fields — no-op for string edit
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
|
|
@ -6616,6 +6730,14 @@ impl OpenCADStudio {
|
||||||
Dimtol => self.ds_dimtol = !self.ds_dimtol,
|
Dimtol => self.ds_dimtol = !self.ds_dimtol,
|
||||||
Dimlim => self.ds_dimlim = !self.ds_dimlim,
|
Dimlim => self.ds_dimlim = !self.ds_dimlim,
|
||||||
Annotative => self.ds_annotative = !self.ds_annotative,
|
Annotative => self.ds_annotative = !self.ds_annotative,
|
||||||
|
Dimfxlon => self.ds_dimfxlon = !self.ds_dimfxlon,
|
||||||
|
Dimsah => self.ds_dimsah = !self.ds_dimsah,
|
||||||
|
Dimtxtdirection => self.ds_dimtxtdirection = !self.ds_dimtxtdirection,
|
||||||
|
Dimtix => self.ds_dimtix = !self.ds_dimtix,
|
||||||
|
Dimsoxd => self.ds_dimsoxd = !self.ds_dimsoxd,
|
||||||
|
Dimupt => self.ds_dimupt = !self.ds_dimupt,
|
||||||
|
Dimtofl => self.ds_dimtofl = !self.ds_dimtofl,
|
||||||
|
Dimalt => self.ds_dimalt = !self.ds_dimalt,
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -216,6 +216,46 @@ impl OpenCADStudio {
|
||||||
dimtdec: &self.ds_dimtdec,
|
dimtdec: &self.ds_dimtdec,
|
||||||
dimtfac: &self.ds_dimtfac,
|
dimtfac: &self.ds_dimtfac,
|
||||||
annotative: self.ds_annotative,
|
annotative: self.ds_annotative,
|
||||||
|
dimclrd: &self.ds_dimclrd,
|
||||||
|
dimlwd: &self.ds_dimlwd,
|
||||||
|
dimclre: &self.ds_dimclre,
|
||||||
|
dimlwe: &self.ds_dimlwe,
|
||||||
|
dimfxl: &self.ds_dimfxl,
|
||||||
|
dimfxlon: self.ds_dimfxlon,
|
||||||
|
dimsah: self.ds_dimsah,
|
||||||
|
dimarcsym: &self.ds_dimarcsym,
|
||||||
|
dimjogang: &self.ds_dimjogang,
|
||||||
|
dimclrt: &self.ds_dimclrt,
|
||||||
|
dimjust: &self.ds_dimjust,
|
||||||
|
dimtvp: &self.ds_dimtvp,
|
||||||
|
dimtfill: &self.ds_dimtfill,
|
||||||
|
dimtfillclr: &self.ds_dimtfillclr,
|
||||||
|
dimtxtdirection: self.ds_dimtxtdirection,
|
||||||
|
dimatfit: &self.ds_dimatfit,
|
||||||
|
dimtix: self.ds_dimtix,
|
||||||
|
dimsoxd: self.ds_dimsoxd,
|
||||||
|
dimtmove: &self.ds_dimtmove,
|
||||||
|
dimupt: self.ds_dimupt,
|
||||||
|
dimtofl: self.ds_dimtofl,
|
||||||
|
dimfit: &self.ds_dimfit,
|
||||||
|
dimdsep: &self.ds_dimdsep,
|
||||||
|
dimrnd: &self.ds_dimrnd,
|
||||||
|
dimzin: &self.ds_dimzin,
|
||||||
|
dimfrac: &self.ds_dimfrac,
|
||||||
|
dimaunit: &self.ds_dimaunit,
|
||||||
|
dimadec: &self.ds_dimadec,
|
||||||
|
dimazin: &self.ds_dimazin,
|
||||||
|
dimalt: self.ds_dimalt,
|
||||||
|
dimaltf: &self.ds_dimaltf,
|
||||||
|
dimaltd: &self.ds_dimaltd,
|
||||||
|
dimaltu: &self.ds_dimaltu,
|
||||||
|
dimalttd: &self.ds_dimalttd,
|
||||||
|
dimaltrnd: &self.ds_dimaltrnd,
|
||||||
|
dimapost: &self.ds_dimapost,
|
||||||
|
dimaltz: &self.ds_dimaltz,
|
||||||
|
dimalttz: &self.ds_dimalttz,
|
||||||
|
dimtolj: &self.ds_dimtolj,
|
||||||
|
dimtzin: &self.ds_dimtzin,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,46 @@ pub struct DimStyleValues<'a> {
|
||||||
pub dimtdec: &'a str,
|
pub dimtdec: &'a str,
|
||||||
pub dimtfac: &'a str,
|
pub dimtfac: &'a str,
|
||||||
pub annotative: bool,
|
pub annotative: bool,
|
||||||
|
pub dimclrd: &'a str,
|
||||||
|
pub dimlwd: &'a str,
|
||||||
|
pub dimclre: &'a str,
|
||||||
|
pub dimlwe: &'a str,
|
||||||
|
pub dimfxl: &'a str,
|
||||||
|
pub dimfxlon: bool,
|
||||||
|
pub dimsah: bool,
|
||||||
|
pub dimarcsym: &'a str,
|
||||||
|
pub dimjogang: &'a str,
|
||||||
|
pub dimclrt: &'a str,
|
||||||
|
pub dimjust: &'a str,
|
||||||
|
pub dimtvp: &'a str,
|
||||||
|
pub dimtfill: &'a str,
|
||||||
|
pub dimtfillclr: &'a str,
|
||||||
|
pub dimtxtdirection: bool,
|
||||||
|
pub dimatfit: &'a str,
|
||||||
|
pub dimtix: bool,
|
||||||
|
pub dimsoxd: bool,
|
||||||
|
pub dimtmove: &'a str,
|
||||||
|
pub dimupt: bool,
|
||||||
|
pub dimtofl: bool,
|
||||||
|
pub dimfit: &'a str,
|
||||||
|
pub dimdsep: &'a str,
|
||||||
|
pub dimrnd: &'a str,
|
||||||
|
pub dimzin: &'a str,
|
||||||
|
pub dimfrac: &'a str,
|
||||||
|
pub dimaunit: &'a str,
|
||||||
|
pub dimadec: &'a str,
|
||||||
|
pub dimazin: &'a str,
|
||||||
|
pub dimalt: bool,
|
||||||
|
pub dimaltf: &'a str,
|
||||||
|
pub dimaltd: &'a str,
|
||||||
|
pub dimaltu: &'a str,
|
||||||
|
pub dimalttd: &'a str,
|
||||||
|
pub dimaltrnd: &'a str,
|
||||||
|
pub dimapost: &'a str,
|
||||||
|
pub dimaltz: &'a str,
|
||||||
|
pub dimalttz: &'a str,
|
||||||
|
pub dimtolj: &'a str,
|
||||||
|
pub dimtzin: &'a str,
|
||||||
}
|
}
|
||||||
|
|
||||||
fn btn_s(accent: bool) -> impl Fn(&Theme, button::Status) -> button::Style {
|
fn btn_s(accent: bool) -> impl Fn(&Theme, button::Status) -> button::Style {
|
||||||
|
|
@ -309,6 +349,10 @@ pub fn view_window<'a>(
|
||||||
.on_press(Message::DimStyleDialogTab(4))
|
.on_press(Message::DimStyleDialogTab(4))
|
||||||
.style(tab_btn_style(tab == 4))
|
.style(tab_btn_style(tab == 4))
|
||||||
.padding([4, 10]),
|
.padding([4, 10]),
|
||||||
|
button(text("Alternate").size(11))
|
||||||
|
.on_press(Message::DimStyleDialogTab(5))
|
||||||
|
.style(tab_btn_style(tab == 5))
|
||||||
|
.padding([4, 10]),
|
||||||
]
|
]
|
||||||
.spacing(2);
|
.spacing(2);
|
||||||
|
|
||||||
|
|
@ -370,6 +414,12 @@ pub fn view_window<'a>(
|
||||||
.align_y(iced::Center),
|
.align_y(iced::Center),
|
||||||
chk("Suppress 1st line (DIMSE1)", vals.dimse1, DsField::Dimse1),
|
chk("Suppress 1st line (DIMSE1)", vals.dimse1, DsField::Dimse1),
|
||||||
chk("Suppress 2nd line (DIMSE2)", vals.dimse2, DsField::Dimse2),
|
chk("Suppress 2nd line (DIMSE2)", vals.dimse2, DsField::Dimse2),
|
||||||
|
row![lbl("Dim line color ACI (DIMCLRD)"), mk_field(DsField::Dimclrd, vals.dimclrd)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Dim line weight (DIMLWD)"), mk_field(DsField::Dimlwd, vals.dimlwd)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Ext line color ACI (DIMCLRE)"), mk_field(DsField::Dimclre, vals.dimclre)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Ext line weight (DIMLWE)"), mk_field(DsField::Dimlwe, vals.dimlwe)].spacing(8).align_y(iced::Center),
|
||||||
|
chk("Fixed-length ext lines (DIMFXLON)", vals.dimfxlon, DsField::Dimfxlon),
|
||||||
|
row![lbl("Fixed length (DIMFXL)"), mk_field(DsField::Dimfxl, vals.dimfxl)].spacing(8).align_y(iced::Center),
|
||||||
]
|
]
|
||||||
.spacing(7)
|
.spacing(7)
|
||||||
.into(),
|
.into(),
|
||||||
|
|
@ -393,6 +443,9 @@ pub fn view_window<'a>(
|
||||||
]
|
]
|
||||||
.spacing(8)
|
.spacing(8)
|
||||||
.align_y(iced::Center),
|
.align_y(iced::Center),
|
||||||
|
chk("Separate arrow blocks (DIMSAH)", vals.dimsah, DsField::Dimsah),
|
||||||
|
row![lbl("Arc length symbol (DIMARCSYM)"), mk_field(DsField::Dimarcsym, vals.dimarcsym)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Jog angle ° (DIMJOGANG)"), mk_field(DsField::Dimjogang, vals.dimjogang)].spacing(8).align_y(iced::Center),
|
||||||
]
|
]
|
||||||
.spacing(7)
|
.spacing(7)
|
||||||
.into(),
|
.into(),
|
||||||
|
|
@ -418,6 +471,12 @@ pub fn view_window<'a>(
|
||||||
.align_y(iced::Center),
|
.align_y(iced::Center),
|
||||||
chk("Horizontal inside (DIMTIH)", vals.dimtih, DsField::Dimtih),
|
chk("Horizontal inside (DIMTIH)", vals.dimtih, DsField::Dimtih),
|
||||||
chk("Horizontal outside (DIMTOH)", vals.dimtoh, DsField::Dimtoh),
|
chk("Horizontal outside (DIMTOH)", vals.dimtoh, DsField::Dimtoh),
|
||||||
|
row![lbl("Text color ACI (DIMCLRT)"), mk_field(DsField::Dimclrt, vals.dimclrt)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Horizontal just (DIMJUST)"), mk_field(DsField::Dimjust, vals.dimjust)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Vertical pos (DIMTVP)"), mk_field(DsField::Dimtvp, vals.dimtvp)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Text fill mode (DIMTFILL)"), mk_field(DsField::Dimtfill, vals.dimtfill)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Fill color ACI (DIMTFILLCLR)"), mk_field(DsField::Dimtfillclr, vals.dimtfillclr)].spacing(8).align_y(iced::Center),
|
||||||
|
chk("Left-to-right (DIMTXTDIRECTION)", vals.dimtxtdirection, DsField::Dimtxtdirection),
|
||||||
]
|
]
|
||||||
.spacing(7)
|
.spacing(7)
|
||||||
.into(),
|
.into(),
|
||||||
|
|
@ -455,6 +514,35 @@ pub fn view_window<'a>(
|
||||||
]
|
]
|
||||||
.spacing(8)
|
.spacing(8)
|
||||||
.align_y(iced::Center),
|
.align_y(iced::Center),
|
||||||
|
row![lbl("Decimal sep ASCII (DIMDSEP)"), mk_field(DsField::Dimdsep, vals.dimdsep)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Round off (DIMRND)"), mk_field(DsField::Dimrnd, vals.dimrnd)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Zero suppress (DIMZIN)"), mk_field(DsField::Dimzin, vals.dimzin)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Fraction format (DIMFRAC)"), mk_field(DsField::Dimfrac, vals.dimfrac)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Angular unit (DIMAUNIT)"), mk_field(DsField::Dimaunit, vals.dimaunit)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Angular decimals (DIMADEC)"), mk_field(DsField::Dimadec, vals.dimadec)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Angular zero supp (DIMAZIN)"), mk_field(DsField::Dimazin, vals.dimazin)].spacing(8).align_y(iced::Center),
|
||||||
|
text("Fit").size(11).color(ACCENT),
|
||||||
|
row![lbl("Fit (DIMATFIT)"), mk_field(DsField::Dimatfit, vals.dimatfit)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Text movement (DIMTMOVE)"), mk_field(DsField::Dimtmove, vals.dimtmove)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Fit (legacy DIMFIT)"), mk_field(DsField::Dimfit, vals.dimfit)].spacing(8).align_y(iced::Center),
|
||||||
|
chk("Force text inside (DIMTIX)", vals.dimtix, DsField::Dimtix),
|
||||||
|
chk("Suppress outside arrows (DIMSOXD)", vals.dimsoxd, DsField::Dimsoxd),
|
||||||
|
chk("Place text manually (DIMUPT)", vals.dimupt, DsField::Dimupt),
|
||||||
|
chk("Dim line between ext (DIMTOFL)", vals.dimtofl, DsField::Dimtofl),
|
||||||
|
]
|
||||||
|
.spacing(7)
|
||||||
|
.into(),
|
||||||
|
5 => column![
|
||||||
|
text("Alternate Units").size(11).color(ACCENT),
|
||||||
|
chk("Enable alternate units (DIMALT)", vals.dimalt, DsField::Dimalt),
|
||||||
|
row![lbl("Multiplier (DIMALTF)"), mk_field(DsField::Dimaltf, vals.dimaltf)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Decimals (DIMALTD)"), mk_field(DsField::Dimaltd, vals.dimaltd)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Unit format (DIMALTU)"), mk_field(DsField::Dimaltu, vals.dimaltu)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Tol decimals (DIMALTTD)"), mk_field(DsField::Dimalttd, vals.dimalttd)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Round off (DIMALTRND)"), mk_field(DsField::Dimaltrnd, vals.dimaltrnd)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Suffix (DIMAPOST)"), mk_field(DsField::Dimapost, vals.dimapost)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Zero suppress (DIMALTZ)"), mk_field(DsField::Dimaltz, vals.dimaltz)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Tol zero supp (DIMALTTZ)"), mk_field(DsField::Dimalttz, vals.dimalttz)].spacing(8).align_y(iced::Center),
|
||||||
]
|
]
|
||||||
.spacing(7)
|
.spacing(7)
|
||||||
.into(),
|
.into(),
|
||||||
|
|
@ -486,6 +574,8 @@ pub fn view_window<'a>(
|
||||||
]
|
]
|
||||||
.spacing(8)
|
.spacing(8)
|
||||||
.align_y(iced::Center),
|
.align_y(iced::Center),
|
||||||
|
row![lbl("Tol. vert just (DIMTOLJ)"), mk_field(DsField::Dimtolj, vals.dimtolj)].spacing(8).align_y(iced::Center),
|
||||||
|
row![lbl("Tol. zero supp (DIMTZIN)"), mk_field(DsField::Dimtzin, vals.dimtzin)].spacing(8).align_y(iced::Center),
|
||||||
]
|
]
|
||||||
.spacing(7)
|
.spacing(7)
|
||||||
.into(),
|
.into(),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue