Merge pull request #7648 from dotCooCoo/feat/graph-type-dialog

Graphs: Graph Type is a dialog of its own with type buttons and a page per axis
This commit is contained in:
BFlat
2026-11-15 14:42:05 +07:00
committed by GitHub
42 changed files with 2670 additions and 103 deletions
+2
View File
@@ -40,7 +40,9 @@ pub use commands::specs;
pub(crate) use data::{apply_csv, parse_csv};
#[cfg(test)]
use data::{fmt_value, to_csv};
pub use edit::{GraphTypeSubject, graph_type_subject};
pub(crate) use edit::{graphs_holding, keep_placed};
pub use generate::calculated_axes;
#[cfg(test)]
use generate::generate;
#[cfg(test)]
+23 -1
View File
@@ -2,7 +2,7 @@ use vectorcraft_doc::graph::graph_art_without_type as art_bounds;
use super::axis::{MAX_TICK_MARKS, count_given, one_line};
use super::data::apply_data;
use super::generate::{children_bounds, generate};
use super::generate::{calculated_axes, children_bounds, generate};
use super::series::{picked_series, reselect_series};
use super::{
Affine, Document, EngineError, GraphKind, GraphSpec, Node, NodeId, Rect, Result, Session, TickLength, Value, ValueAxisSide, bad, f64_req, json,
@@ -169,6 +169,28 @@ pub(super) fn spec_of(s: &Session, id: NodeId) -> Result<GraphSpec> {
s.doc()?.doc.node(id).and_then(|n| n.extras().graph.as_deref().cloned()).ok_or(EngineError::NoNode(id))
}
/// What `graph.setType` without `id` or `seriesIndexes` acts on, for the Graph Type dialog.
pub struct GraphTypeSubject {
/// The selected graph, or the graph that holds the selection.
pub id: NodeId,
/// The series picked in it with Group Selection, in order; empty when the type goes to the whole graph.
pub series: Vec<usize>,
/// The least value, the greatest and the number of divisions each value axis is drawn with while its tick values
/// are calculated: the left (or only) axis, then the right axis' own scale (the left one's without Separate Scales).
pub calculated: [(f64, f64, usize); 2],
}
/// The graph and series that `graph.setType {}` reads its options from, as [`GraphTypeSubject`]. An error without a
/// selected graph, as the command gives.
pub fn graph_type_subject(s: &Session) -> Result<GraphTypeSubject> {
const C: &str = "graph.setType";
let p = json!({});
let id = target(s, &p, C)?;
let spec = spec_of(s, id)?;
let count = spec.rows.iter().map(Vec::len).max().unwrap_or(0).min(vectorcraft_doc::MAX_GRAPH_SERIES);
Ok(GraphTypeSubject { id, series: picked_series(s, &p, id, count, C)?, calculated: calculated_axes(&spec) })
}
fn query_type_options(spec: &GraphSpec, count: usize, picked: &[usize]) -> Value {
// With series picked, the type and value axis they share, so the dialog's OK keeps them.
let kinds: Vec<GraphKind> = picked.iter().map(|i| spec.series_kind(*i)).collect();
+96 -35
View File
@@ -38,6 +38,101 @@ fn nth<T>(list: &[Option<T>], s: usize) -> Option<&T> {
list.get(s).and_then(Option::as_ref)
}
/// The data a value range is read from: each series' type, the cells (a blank is `None`), which series use the right
/// axis' own scale, and the number of categories.
struct Values<'a> {
kinds: &'a [GraphKind],
cells: &'a [Vec<Option<f64>>],
on_right: &'a [bool],
ncat: usize,
}
impl Values<'_> {
fn cell(&self, c: usize, s: usize) -> Option<f64> {
self.cells.get(c).and_then(|r| r.get(s)).copied().flatten()
}
fn axis(&self, s: usize) -> usize {
usize::from(self.on_right.get(s).copied().unwrap_or(false))
}
/// The value range per axis (stacked graphs stack positives and negatives separately), and a scatter's x range.
fn range(&self, scatter: bool) -> ([f64; 2], [f64; 2], f64, f64) {
let (mut lo, mut hi) = ([0.0f64; 2], [0.0f64; 2]);
let (mut xlo, mut xhi) = (f64::MAX, f64::MIN);
for c in 0..self.ncat {
if !scatter {
for (a, (lo, hi)) in lo.iter_mut().zip(hi.iter_mut()).enumerate() {
self.extend(c, a, (lo, hi));
}
} else {
for s in (0..self.kinds.len()).step_by(2) {
if let (Some(y), Some(x)) = (self.cell(c, s), self.cell(c, s + 1)) {
hi[0] = hi[0].max(y);
lo[0] = lo[0].min(y);
xlo = xlo.min(x);
xhi = xhi.max(x);
}
}
}
}
(lo, hi, xlo, xhi)
}
/// Widen the range of axis `a` by category `c`'s values.
fn extend(&self, c: usize, a: usize, (lo, hi): (&mut f64, &mut f64)) {
let val = |s: usize| self.cell(c, s).unwrap_or(0.0);
let on = |s: &usize, kinds: &[GraphKind]| self.axis(*s) == a && self.kinds.get(*s).is_some_and(|k| kinds.contains(k));
// Stacked columns (or bars) stack together, and so do areas; other series count one value each.
for stack in [[GraphKind::StackedColumn, GraphKind::StackedBar], [GraphKind::Area, GraphKind::Area]] {
let members = || (0..self.kinds.len()).filter(|s| on(s, &stack));
*hi = hi.max(members().map(|s| val(s).max(0.0)).sum());
*lo = lo.min(members().map(|s| val(s).min(0.0)).sum());
}
let single = |s: &usize| on(s, &[GraphKind::Column, GraphKind::Bar, GraphKind::Line]);
for v in (0..self.kinds.len()).filter(single).filter_map(|s| self.cell(c, s)) {
*hi = hi.max(v);
*lo = lo.min(v);
}
}
}
/// The tick values `g`'s value axes are drawn with while they are calculated from the data (Graph Type › Tick Values
/// without Override Calculated Values): the least value, the greatest and the number of divisions of the left (or
/// only) axis, then of the right axis' own scale, which is the left one's unless Separate Scales gives the series on
/// the right axis a scale of their own. A pie graph has no value axis and gives the axis of a graph without data. A
/// single bound the graph has (only a minimum or only a maximum) is calculated with, as the axis is drawn.
pub fn calculated_axes(g: &GraphSpec) -> [(f64, f64, usize); 2] {
// Adding 0 makes a negative zero, which a nice axis around 0 can start at, a plain 0.
let divisions = |(lo, hi, step): (f64, f64, f64)| (lo + 0.0, hi + 0.0, ((hi - lo) / step).round().clamp(1.0, 100.0) as usize);
// The bounds the axis is calculated with: all but a pair that overrides the calculation.
let partial = |min: Option<f64>, max: Option<f64>| match (min, max) {
(Some(a), Some(b)) if b > a && (b - a).is_finite() => (None, None),
bounds => bounds,
};
let (min, max) = partial(g.axis_min, g.axis_max);
if g.kind == GraphKind::Radar {
let top = g.rows.iter().flatten().copied().fold(0.0, f64::max);
return [divisions(value_axis(g.ticks, min, max, 0.0, top)); 2];
}
let nser = g.rows.iter().map(Vec::len).max().unwrap_or(0).clamp(1, vectorcraft_doc::MAX_GRAPH_SERIES);
let kinds: Vec<GraphKind> = (0..nser).map(|s| g.series_kind(s)).collect();
let (scatter, horizontal) = (g.kind == GraphKind::Scatter, matches!(g.kind, GraphKind::Bar | GraphKind::StackedBar));
let separate = g.separate_scales && g.value_axis == ValueAxisSide::Both && !horizontal && !scatter;
let on_right: Vec<bool> = (0..nser).map(|s| separate && g.right_series.contains(&s)).collect();
let cells = if g.kind == GraphKind::Pie { vec![] } else { g.cells() };
let ncat = g.rows.len().clamp(1, vectorcraft_doc::MAX_GRAPH_CATEGORIES);
let (lo, hi, ..) = Values { kinds: &kinds, cells: &cells, on_right: &on_right, ncat }.range(scatter);
let left = divisions(value_axis(g.ticks, min, max, lo[0], hi[0]));
let used = |right: bool| on_right.contains(&right);
if !used(true) {
return [left; 2];
}
let (right_min, right_max) = partial(g.right_axis_min, g.right_axis_max);
let right = divisions(value_axis(g.right_ticks, right_min, right_max, lo[1], hi[1]));
if used(false) { [left, right] } else { [right; 2] }
}
/// One graph being generated: its data, the nodes drawn so far and what the legend and shadows still need.
struct Plot<'a> {
g: &'a GraphSpec,
@@ -526,41 +621,7 @@ impl<'a> Plot<'a> {
/// The value range per axis (stacked graphs stack positives and negatives separately), and a scatter's x range.
fn value_range(&self, geo: &Geo, scatter: bool) -> ([f64; 2], [f64; 2], f64, f64) {
let (mut lo, mut hi) = ([0.0f64; 2], [0.0f64; 2]);
let (mut xlo, mut xhi) = (f64::MAX, f64::MIN);
for c in 0..self.ncat {
if !scatter {
for (a, (lo, hi)) in lo.iter_mut().zip(hi.iter_mut()).enumerate() {
self.extend_range(geo, c, a, (lo, hi));
}
} else {
for s in (0..self.nser).step_by(2) {
if let (Some(y), Some(x)) = (self.cell(c, s), self.cell(c, s + 1)) {
hi[0] = hi[0].max(y);
lo[0] = lo[0].min(y);
xlo = xlo.min(x);
xhi = xhi.max(x);
}
}
}
}
(lo, hi, xlo, xhi)
}
/// Widen the range of axis `a` by category `c`'s values.
fn extend_range(&self, geo: &Geo, c: usize, a: usize, (lo, hi): (&mut f64, &mut f64)) {
let nser = self.nser;
// Stacked columns (or bars) stack together, and so do areas; other series count one value each.
for stack in [[GraphKind::StackedColumn, GraphKind::StackedBar], [GraphKind::Area, GraphKind::Area]] {
let members = || (0..nser).filter(|s| geo.axis(*s) == a && stack.contains(&self.kind(*s)));
*hi = hi.max(members().map(|s| self.val(c, s).max(0.0)).sum());
*lo = lo.min(members().map(|s| self.val(c, s).min(0.0)).sum());
}
let single = |s: &usize| geo.axis(*s) == a && matches!(self.kind(*s), GraphKind::Column | GraphKind::Bar | GraphKind::Line);
for v in (0..nser).filter(single).filter_map(|s| self.cell(c, s)) {
*hi = hi.max(v);
*lo = lo.min(v);
}
Values { kinds: &self.kinds, cells: &self.cells, on_right: &geo.on_right, ncat: self.ncat }.range(scatter)
}
/// The value axes with ticks and labels, the legend's start after them, and the axis lines.
+52
View File
@@ -4670,6 +4670,58 @@ fn group_selected_series_go_on_the_chosen_axis() {
assert!(spec(&s, id).right_series.is_empty());
}
/// The Graph Type dialog's subject: the selected graph, the series picked in it, and the tick values each value axis
/// is drawn with while they are calculated, which are the ones the graph's value labels show.
#[test]
fn graph_type_subject_gives_the_picked_series_and_the_calculated_tick_values() {
let mut s = Session::new();
assert!(super::graph_type_subject(&s).is_err(), "no document");
s.execute("file.new", &json!({"width": 800, "height": 800})).unwrap();
assert!(super::graph_type_subject(&s).is_err(), "no graph selected");
// Q1 3, 2; Q2 5, 4; Q3 -1, 6.
let id = graph(&mut s, "column");
let subject = super::graph_type_subject(&s).unwrap();
assert_eq!((subject.id, subject.series), (id, vec![]));
assert_eq!(subject.calculated, [(-2.0, 6.0, 4); 2]);
let shown = |s: &Session| value_labels(s, id).into_iter().map(|(t, _)| t).collect::<Vec<_>>();
assert_eq!(shown(&s), ["-2", "0", "2", "4", "6"]);
// Overriding with them draws the same axis, and the calculated values stay the data's.
s.execute("graph.setType", &json!({"axisMin": -2, "axisMax": 6, "ticks": 4})).unwrap();
assert_eq!(shown(&s), ["-2", "0", "2", "4", "6"]);
s.execute("graph.setType", &json!({"axisMin": 0, "axisMax": 100, "ticks": 0})).unwrap();
assert_eq!(super::graph_type_subject(&s).unwrap().calculated[0], (-2.0, 6.0, 4));
// A single bound is calculated with, as the axis is drawn.
s.execute("graph.setType", &json!({"axisMin": -10, "axisMax": null})).unwrap();
let (lo, hi, _) = super::graph_type_subject(&s).unwrap().calculated[0];
let labels = shown(&s);
assert!(lo <= -10.0, "{lo}");
assert_eq!((labels.first().and_then(|t| t.parse::<f64>().ok()), labels.last().and_then(|t| t.parse::<f64>().ok())), (Some(lo), Some(hi)));
s.execute("graph.setType", &json!({"axisMin": null, "axisMax": null})).unwrap();
// Stacked columns stack their positive and their negative values: Q2 reaches 9, Q3 from -1 to 6.
s.execute("graph.setType", &json!({"type": "stackedColumn"})).unwrap();
assert_eq!(super::graph_type_subject(&s).unwrap().calculated[0], (-2.0, 10.0, 6));
assert_eq!(shown(&s), ["-2", "0", "2", "4", "6", "8", "10"]);
// A radar graph's axis starts at 0, and a pie graph has none.
s.execute("graph.setType", &json!({"type": "radar"})).unwrap();
assert_eq!(super::graph_type_subject(&s).unwrap().calculated, [(0.0, 6.0, 3); 2]);
s.execute("graph.setType", &json!({"type": "pie"})).unwrap();
assert_eq!(super::graph_type_subject(&s).unwrap().calculated, [(0.0, 1.0, 5); 2]);
// Series picked with Group Selection.
s.execute("graph.setType", &json!({"type": "column"})).unwrap();
let picked = series(s.doc().unwrap().doc.node(id).unwrap(), 1).id;
s.execute("select.set", &json!({"ids": [picked.0]})).unwrap();
let subject = super::graph_type_subject(&s).unwrap();
assert_eq!((subject.id, subject.series), (id, vec![1]));
// Separate Scales: the right axis has the tick values of its own series.
let mut s = Session::new();
let id = two_scale_graph(&mut s);
assert_eq!(super::graph_type_subject(&s).unwrap().calculated, [(0.0, 1000.0, 5); 2]);
s.execute("graph.setType", &json!({"seriesIndexes": [1], "valueAxis": "right"})).unwrap();
s.execute("graph.setType", &json!({"valueAxis": "both", "separateScales": true})).unwrap();
assert_eq!(super::graph_type_subject(&s).unwrap().calculated, [(0.0, 10.0, 5), (0.0, 1000.0, 5)]);
assert_eq!(spec(&s, id).right_series, [1]);
}
#[test]
fn bar_graphs_keep_their_value_axis_along_the_bottom() {
let mut s = Session::new();
+1
View File
@@ -29,6 +29,7 @@ use vectorcraft_tools::{PaintDefaults, Tool};
pub use cmd::clipboard::{Clipboard, SourceLayer};
pub use cmd::create::constrain_click;
pub use cmd::distortcmds::perspective_click;
pub use cmd::graph::{GraphTypeSubject, calculated_axes as graph_calculated_axes, graph_type_subject};
pub use cmd::params::{check_keys, check_params};
pub use cmd::pathops::auto_simplify_level;
pub use cmd::rasterfx::{export_pdf, flatten_raster_effects};
File diff suppressed because one or more lines are too long
+4
View File
@@ -56,6 +56,7 @@ pub mod freehand;
mod gradient_stop;
pub mod graph_data;
pub mod graph_design;
pub mod graph_type;
pub mod graphic_style_options;
pub mod halftone;
pub mod hyphenation;
@@ -342,6 +343,7 @@ registry! {
GraphDesign: [graph_design::DESIGN] => graph_design::DESIGN_SPEC,
GraphColumn: [graph_design::COLUMN] => graph_design::COLUMN_SPEC,
GraphMarker: [graph_design::MARKER] => graph_design::MARKER_SPEC,
GraphType: [graph_type::KIND] => graph_type::SPEC,
GradientStop: ["gradientStop"] => gradient_stop::SPEC,
ColorPicker: [color_picker::KIND] => color_picker::SPEC,
GraphicStyleOptions: [graphic_style_options::KIND] => graphic_style_options::SPEC,
@@ -518,6 +520,8 @@ fn hidden_controls(d: &Dialog) -> &'static [&'static str] {
Some(DialogKind::FileInfo) => &["__keyword"],
// The preset name being typed.
Some(DialogKind::FlattenTransparency) => &["__presetName"],
// The page shown.
Some(DialogKind::GraphType) => &[graph_type::PAGE],
// The Resolution menu's Other.
Some(DialogKind::RasterOptions | DialogKind::RasterFormatOptions | DialogKind::PsdOptions) => &["__otherPpi"],
// The category shown, the search text and the three settings kept outside the preferences.
-59
View File
@@ -1,8 +1,6 @@
//! The generic parameter dialog (`ui.paramDialog`): edits a command's parameters (`__command`,
//! headed `__label`) and runs it on OK, with the fixed ones in `__params` (not shown) added.
use std::sync::LazyLock;
use serde_json::{Value, json};
use super::{DialogSpec, form};
@@ -176,12 +174,6 @@ fn choices(command: &str, key: &str) -> Option<form::Choices> {
("text.areaOptions", "firstBaseline") => Some(FIRST_BASELINE),
("text.areaOptions", "verticalAlign") => Some(VERTICAL_ALIGN),
(crate::addons::cutting::WEED, "direction") => Some(crate::addons::cutting::WEED_DIRECTIONS),
("graph.setType", "type") => Some(GRAPH_KINDS.as_slice()),
("graph.setType", "valueAxis") => Some(GRAPH_VALUE_AXIS),
("graph.setType", "tickLength" | "rightTickLength" | "categoryTickLength") => Some(GRAPH_TICK_LENGTH),
("graph.setType", "pieLegend") => Some(PIE_LEGEND),
("graph.setType", "piePosition") => Some(PIE_POSITION),
("graph.setType", "pieSort") => Some(PIE_SORT),
(crate::addons::image::REMOVE_BACKGROUND | crate::addons::image::COLOR_MASK, "background") => Some(crate::addons::image::BACKGROUNDS),
(crate::addons::image::REMOVE_BACKGROUND | crate::addons::image::COLOR_MASK, "match") => Some(crate::addons::image::MATCHES),
_ => None,
@@ -214,21 +206,6 @@ const FIRST_BASELINE: form::Choices =
/// Area Type Options › Align (vertical alignment of the lines in each row/column).
const VERTICAL_ALIGN: form::Choices = &[("Top", "top"), ("Center", "center"), ("Bottom", "bottom"), ("Justify", "justify")];
/// Graph Type › Type: the nine graph kinds, in the Graph tool group's order.
static GRAPH_KINDS: LazyLock<Vec<(&'static str, &'static str)>> =
LazyLock::new(|| vectorcraft_doc::GraphKind::ALL.iter().map(|k| (k.label(), k.id())).collect());
/// Graph Type › Value Axis (series picked on both axes show none, and OK leaves each where it is).
const GRAPH_VALUE_AXIS: form::Choices = &[("On Left Side", "left"), ("On Right Side", "right"), ("On Both Sides", "both")];
/// Graph Type › Legend, Position and Sort for pie graphs.
const PIE_LEGEND: form::Choices = &[("No Legend", "none"), ("Standard Legend", "standard"), ("Legends in Wedges", "wedges")];
const PIE_POSITION: form::Choices = &[("Ratio", "ratio"), ("Even", "even"), ("Stacked", "stacked")];
const PIE_SORT: form::Choices = &[("All", "all"), ("First", "first"), ("None", "none")];
/// Graph Type › Tick Marks › Length.
const GRAPH_TICK_LENGTH: form::Choices = &[("None", "none"), ("Short", "short"), ("Full Width", "full")];
/// Closes before running, so a dialog the command opens stays open. A previewed one keeps its
/// preview as the one undo step.
fn confirm(app: &mut VectorcraftApp, d: &Dialog) -> Result<Value, String> {
@@ -405,42 +382,6 @@ mod tests {
assert!(p[0] == p[1] && p[1] == p[2] && p[0] < 128, "red in grayscale: {p:?}");
}
/// Graph Type › Value Axis is a dropdown of the values `graph.setType` takes, and OK puts the
/// value axis on the side picked.
#[test]
fn graph_type_value_axis_is_a_dropdown_of_its_sides() {
let doc = vectorcraft_engine::find_command("graph.setType").unwrap().params;
let values: Vec<&str> = choices("graph.setType", "valueAxis").unwrap().iter().map(|(_, v)| *v).collect();
assert!(doc.contains(&format!("valueAxis?: {}", values.join("|"))), "{values:?}");
let mut app = VectorcraftApp::new(Session::new(), Default::default());
app.run("file.new", json!({"width": 400, "height": 400})).unwrap();
app.run("graph.create", json!({"type": "column", "x": 0, "y": 0, "width": 200, "height": 150})).unwrap();
crate::menus::graph_dialog(&mut app, "graph.setType").unwrap();
assert_eq!(app.ui.dialog.as_ref().unwrap().str("valueAxis"), "left");
app.ui.dialog.as_mut().unwrap().fields.insert("valueAxis".into(), json!("both"));
crate::dialogs::confirm(&mut app).unwrap();
assert_eq!(app.session.execute("graph.setType", &json!({})).unwrap()["valueAxis"], "both");
}
/// Graph Type › Type is a dropdown of the nine graph kinds (#2175), and OK changes the graph's
/// type and keeps its data.
#[test]
fn graph_type_is_a_dropdown_of_the_graph_kinds() {
let kinds: Vec<(&str, &str)> = vectorcraft_doc::GraphKind::ALL.iter().map(|k| (k.label(), k.id())).collect();
assert_eq!(choices("graph.setType", "type").unwrap().to_vec(), kinds);
let mut app = VectorcraftApp::new(Session::new(), Default::default());
app.run("file.new", json!({"width": 400, "height": 400})).unwrap();
app.run("graph.create", json!({"type": "column", "x": 0, "y": 0, "width": 200, "height": 150, "csv": ",a,b\nQ1,1,2\nQ2,3,4"})).unwrap();
let data = app.session.execute("graph.setData", &json!({})).unwrap();
assert_eq!(data["rows"], json!([[1.0, 2.0], [3.0, 4.0]]));
crate::menus::graph_dialog(&mut app, "graph.setType").unwrap();
assert_eq!(app.ui.dialog.as_ref().unwrap().str("type"), "column");
app.ui.dialog.as_mut().unwrap().fields.insert("type".into(), json!("stackedBar"));
crate::dialogs::confirm(&mut app).unwrap();
assert_eq!(app.session.execute("graph.setType", &json!({})).unwrap()["type"], "stackedBar");
assert_eq!(app.session.execute("graph.setData", &json!({})).unwrap(), data);
}
/// A document with a rectangle made a 2 x 2 Grid Repeat and selected, its Repeat Options
/// dialog open.
fn grid_options_app() -> VectorcraftApp {
File diff suppressed because it is too large Load Diff
+34
View File
@@ -1366,6 +1366,40 @@ font-technology Variable Променливи
Graph Диаграма
Graph Data Данни за диаграма
Graph Type Тип диаграма
Graph Options Опции на диаграмата
Left Axis Лява ос
Right Axis Дясна ос
Category Axis Ос на категориите
Separate Scales Отделни скали
Add Drop Shadow Добавяне на падаща сянка
Add Legend Across Top Добавяне на легенда отгоре
First Row in Front Първият ред отпред
First Column in Front Първата колона отпред
Legend Легенда
Column Width Ширина на колоната
Bar Width Ширина на стълба
Cluster Width Ширина на групата
Mark Data Points Маркиране на точките от данни
Connect Data Points Свързване на точките от данни
Edge-to-Edge Lines Линии от край до край
Draw Filled Lines Чертане на запълнени линии
Tick Values Стойности на отметките
Override Calculated Values Замяна на изчислените стойности
Divisions Деления
Tick Marks Отметки
Tick Marks per Division Отметки на деление
Draw Tick Marks Between Labels Чертане на отметки между етикетите
Add Labels Добавяне на етикети
Maximum must be more than Minimum. Максимумът трябва да е по-голям от минимума.
Column Graph Колонна диаграма
Stacked Column Graph Колонна диаграма с натрупване
Bar Graph Стълбчеста диаграма
Stacked Bar Graph Стълбчеста диаграма с натрупване
Line Graph Линейна диаграма
Area Graph Площна диаграма
Scatter Graph Диаграма на разсейване
Pie Graph Кръгова диаграма
Radar Graph Радарна диаграма
Graph Design Дизайн на диаграма
Graph Marker Маркер на диаграма
New Design Нов дизайн
Can't render this file because it contains an unexpected character in line 2 and column 73.
+34
View File
@@ -3575,6 +3575,40 @@ theme Appearance Izgled
Create Graph Kreiraj grafikon
Graph Data Podaci grafikona
Graph Type Vrsta grafikona
Graph Options Opcije grafikona
Left Axis Lijeva osa
Right Axis Desna osa
Category Axis Osa kategorija
Separate Scales Odvojene skale
Add Drop Shadow Dodaj sjenu
Add Legend Across Top Dodaj legendu na vrh
First Row in Front Prvi red naprijed
First Column in Front Prva kolona naprijed
Legend Legenda
Column Width Širina stupca
Bar Width Širina trake
Cluster Width Širina grupe
Mark Data Points Označi tačke podataka
Connect Data Points Poveži tačke podataka
Edge-to-Edge Lines Linije od ivice do ivice
Draw Filled Lines Crtaj ispunjene linije
Tick Values Vrijednosti crtica
Override Calculated Values Zamijeni izračunate vrijednosti
Divisions Podioci
Tick Marks Crtice
Tick Marks per Division Crtica po podioku
Draw Tick Marks Between Labels Crtaj crtice između oznaka
Add Labels Dodaj oznake
Maximum must be more than Minimum. Maksimum mora biti veći od minimuma.
Column Graph Stupčasti grafikon
Stacked Column Graph Naslagani stupčasti grafikon
Bar Graph Trakasti grafikon
Stacked Bar Graph Naslagani trakasti grafikon
Line Graph Linijski grafikon
Area Graph Površinski grafikon
Scatter Graph Raspršeni grafikon
Pie Graph Tortni grafikon
Radar Graph Radarski grafikon
Vector Halftone Vektorski polutonovi
spot spot
Text Tekst
Can't render this file because it contains an unexpected character in line 2 and column 73.
+34
View File
@@ -1899,6 +1899,40 @@ digits Malayalam Malaiàlam
Graph Design Disseny del gràfic
Graph Marker Marcador del gràfic
Graph Type Tipus de gràfic
Graph Options Opcions del gràfic
Left Axis Eix esquerre
Right Axis Eix dret
Category Axis Eix de categories
Separate Scales Escales separades
Add Drop Shadow Afegeix una ombra paral·lela
Add Legend Across Top Afegeix la llegenda a la part superior
First Row in Front Primera fila al davant
First Column in Front Primera columna al davant
Legend Llegenda
Column Width Amplada de columna
Bar Width Amplada de barra
Cluster Width Amplada del grup
Mark Data Points Marca els punts de dades
Connect Data Points Connecta els punts de dades
Edge-to-Edge Lines Línies de vora a vora
Draw Filled Lines Dibuixa línies emplenades
Tick Values Valors de les marques
Override Calculated Values Substitueix els valors calculats
Divisions Divisions
Tick Marks Marques de graduació
Tick Marks per Division Marques per divisió
Draw Tick Marks Between Labels Dibuixa les marques entre les etiquetes
Add Labels Afegeix etiquetes
Maximum must be more than Minimum. El màxim ha de ser més gran que el mínim.
Column Graph Gràfic de columnes
Stacked Column Graph Gràfic de columnes apilades
Bar Graph Gràfic de barres
Stacked Bar Graph Gràfic de barres apilades
Line Graph Gràfic de línies
Area Graph Gràfic d’àrea
Scatter Graph Gràfic de dispersió
Pie Graph Gràfic de sectors
Radar Graph Gràfic de radar
Graphic Gràfic
Graphic Pen Ploma gràfica
Graphic Pen… Ploma gràfica…
Can't render this file because it contains an unexpected character in line 2 and column 73.
+34
View File
@@ -3671,6 +3671,40 @@ theme Appearance Motiv
Create Graph Vytvořit graf
Graph Data Data grafu
Graph Type Typ grafu
Graph Options Možnosti grafu
Left Axis Levá osa
Right Axis Pravá osa
Category Axis Osa kategorií
Separate Scales Samostatná měřítka
Add Drop Shadow Přidat vržený stín
Add Legend Across Top Přidat legendu nahoru
First Row in Front První řádek vpředu
First Column in Front První sloupec vpředu
Legend Legenda
Column Width Šířka sloupce
Bar Width Šířka pruhu
Cluster Width Šířka skupiny
Mark Data Points Označit datové body
Connect Data Points Spojit datové body
Edge-to-Edge Lines Čáry od okraje k okraji
Draw Filled Lines Kreslit vyplněné čáry
Tick Values Hodnoty značek
Override Calculated Values Přepsat vypočítané hodnoty
Divisions Dílky
Tick Marks Značky
Tick Marks per Division Značek na dílek
Draw Tick Marks Between Labels Kreslit značky mezi popisky
Add Labels Přidat popisky
Maximum must be more than Minimum. Maximum musí být větší než minimum.
Column Graph Sloupcový graf
Stacked Column Graph Skládaný sloupcový graf
Bar Graph Pruhový graf
Stacked Bar Graph Skládaný pruhový graf
Line Graph Spojnicový graf
Area Graph Plošný graf
Scatter Graph Bodový graf
Pie Graph Výsečový graf
Radar Graph Paprskový graf
Vector Halftone Vektorový polotón
spot přímá
Text Text
Can't render this file because it is too large.
+34
View File
@@ -4012,6 +4012,40 @@ theme Appearance Udseende
Create Graph Opret graf
Graph Data Grafdata
Graph Type Graftype
Graph Options Grafindstillinger
Left Axis Venstre akse
Right Axis Højre akse
Category Axis Kategoriakse
Separate Scales Separate skalaer
Add Drop Shadow Tilføj slagskygge
Add Legend Across Top Tilføj forklaring øverst
First Row in Front Første række forrest
First Column in Front Første kolonne forrest
Legend Forklaring
Column Width Søjlebredde
Bar Width Bjælkebredde
Cluster Width Gruppebredde
Mark Data Points Markér datapunkter
Connect Data Points Forbind datapunkter
Edge-to-Edge Lines Linjer fra kant til kant
Draw Filled Lines Tegn udfyldte linjer
Tick Values Afmærkningsværdier
Override Calculated Values Tilsidesæt beregnede værdier
Divisions Inddelinger
Tick Marks Afmærkninger
Tick Marks per Division Afmærkninger pr. inddeling
Draw Tick Marks Between Labels Tegn afmærkninger mellem etiketter
Add Labels Tilføj etiketter
Maximum must be more than Minimum. Maksimum skal være større end minimum.
Column Graph Søjlediagram
Stacked Column Graph Stablet søjlediagram
Bar Graph Bjælkediagram
Stacked Bar Graph Stablet bjælkediagram
Line Graph Linjediagram
Area Graph Områdediagram
Scatter Graph Spredningsdiagram
Pie Graph Cirkeldiagram
Radar Graph Radardiagram
Vector Halftone Vektorraster
spot spot
Text Tekst
Can't render this file because it contains an unexpected character in line 2 and column 73.
+34
View File
@@ -1411,6 +1411,40 @@ file-filter Templates Vorlagen
Graph Diagramm
Graph Data Diagrammdaten
Graph Type Diagrammtyp
Graph Options Diagrammoptionen
Left Axis Linke Achse
Right Axis Rechte Achse
Category Axis Kategorieachse
Separate Scales Getrennte Skalen
Add Drop Shadow Schlagschatten hinzufügen
Add Legend Across Top Legende oben hinzufügen
First Row in Front Erste Zeile vorne
First Column in Front Erste Spalte vorne
Legend Legende
Column Width Säulenbreite
Bar Width Balkenbreite
Cluster Width Gruppenbreite
Mark Data Points Datenpunkte markieren
Connect Data Points Datenpunkte verbinden
Edge-to-Edge Lines Linien von Kante zu Kante
Draw Filled Lines Gefüllte Linien zeichnen
Tick Values Teilstrichwerte
Override Calculated Values Berechnete Werte überschreiben
Divisions Teilungen
Tick Marks Teilstriche
Tick Marks per Division Teilstriche pro Teilung
Draw Tick Marks Between Labels Teilstriche zwischen Beschriftungen zeichnen
Add Labels Beschriftungen hinzufügen
Maximum must be more than Minimum. Das Maximum muss größer als das Minimum sein.
Column Graph Säulendiagramm
Stacked Column Graph Gestapeltes Säulendiagramm
Bar Graph Balkendiagramm
Stacked Bar Graph Gestapeltes Balkendiagramm
Line Graph Liniendiagramm
Area Graph Flächendiagramm
Scatter Graph Streudiagramm
Pie Graph Kreisdiagramm
Radar Graph Netzdiagramm
Graph Design Diagrammdesign
Graph Marker Diagrammmarkierung
New Design Neues Design
Can't render this file because it is too large.
+34
View File
@@ -1341,6 +1341,40 @@ font-technology Variable Μεταβλητές
Graph Γράφημα
Graph Data Δεδομένα γραφήματος
Graph Type Τύπος γραφήματος
Graph Options Επιλογές γραφήματος
Left Axis Αριστερός άξονας
Right Axis Δεξιός άξονας
Category Axis Άξονας κατηγοριών
Separate Scales Ξεχωριστές κλίμακες
Add Drop Shadow Προσθήκη εξωτερικής σκιάς
Add Legend Across Top Προσθήκη υπομνήματος στο επάνω μέρος
First Row in Front Πρώτη γραμμή μπροστά
First Column in Front Πρώτη στήλη μπροστά
Legend Υπόμνημα
Column Width Πλάτος στήλης
Bar Width Πλάτος ράβδου
Cluster Width Πλάτος ομάδας
Mark Data Points Σήμανση σημείων δεδομένων
Connect Data Points Σύνδεση σημείων δεδομένων
Edge-to-Edge Lines Γραμμές από άκρη σε άκρη
Draw Filled Lines Σχεδίαση γεμισμένων γραμμών
Tick Values Τιμές υποδιαιρέσεων
Override Calculated Values Αντικατάσταση υπολογισμένων τιμών
Divisions Διαιρέσεις
Tick Marks Σημάδια υποδιαίρεσης
Tick Marks per Division Σημάδια ανά διαίρεση
Draw Tick Marks Between Labels Σχεδίαση σημαδιών ανάμεσα στις ετικέτες
Add Labels Προσθήκη ετικετών
Maximum must be more than Minimum. Το μέγιστο πρέπει να είναι μεγαλύτερο από το ελάχιστο.
Column Graph Γράφημα στηλών
Stacked Column Graph Γράφημα στοιβαγμένων στηλών
Bar Graph Ραβδόγραμμα
Stacked Bar Graph Στοιβαγμένο ραβδόγραμμα
Line Graph Γραμμικό γράφημα
Area Graph Γράφημα περιοχής
Scatter Graph Διάγραμμα διασποράς
Pie Graph Κυκλικό γράφημα
Radar Graph Αραχνοειδές γράφημα
Graph Design Σχεδίαση γραφήματος
Graph Marker Δείκτης γραφήματος
New Design Νέο σχέδιο
Can't render this file because it is too large.
+34
View File
@@ -1420,6 +1420,40 @@ font-technology Variable Variables
Graph Gráfico
Graph Data Datos del gráfico
Graph Type Tipo de gráfico
Graph Options Opciones de gráfico
Left Axis Eje izquierdo
Right Axis Eje derecho
Category Axis Eje de categorías
Separate Scales Escalas separadas
Add Drop Shadow Añadir sombra paralela
Add Legend Across Top Añadir leyenda en la parte superior
First Row in Front Primera fila delante
First Column in Front Primera columna delante
Legend Leyenda
Column Width Anchura de columna
Bar Width Anchura de barra
Cluster Width Anchura de grupo
Mark Data Points Marcar puntos de datos
Connect Data Points Conectar puntos de datos
Edge-to-Edge Lines Líneas de borde a borde
Draw Filled Lines Dibujar líneas rellenas
Tick Values Valores de marcas
Override Calculated Values Sustituir valores calculados
Divisions Divisiones
Tick Marks Marcas de graduación
Tick Marks per Division Marcas por división
Draw Tick Marks Between Labels Dibujar marcas entre etiquetas
Add Labels Añadir etiquetas
Maximum must be more than Minimum. El máximo debe ser mayor que el mínimo.
Column Graph Gráfico de columnas
Stacked Column Graph Gráfico de columnas apiladas
Bar Graph Gráfico de barras
Stacked Bar Graph Gráfico de barras apiladas
Line Graph Gráfico de líneas
Area Graph Gráfico de áreas
Scatter Graph Gráfico de dispersión
Pie Graph Gráfico circular
Radar Graph Gráfico de radar
Graph Design Diseño de gráfico
Graph Marker Marcador de gráfico
New Design Nuevo diseño
Can't render this file because it contains an unexpected character in line 2 and column 73.
+34
View File
@@ -3609,6 +3609,40 @@ theme Appearance Ulkoasu
Create Graph Luo kaavio
Graph Data Kaavion tiedot
Graph Type Kaavion tyyppi
Graph Options Kaavion asetukset
Left Axis Vasen akseli
Right Axis Oikea akseli
Category Axis Luokka-akseli
Separate Scales Erilliset asteikot
Add Drop Shadow Lisää pudotusvarjo
Add Legend Across Top Lisää selite ylös
First Row in Front Ensimmäinen rivi edessä
First Column in Front Ensimmäinen sarake edessä
Legend Selite
Column Width Pylvään leveys
Bar Width Palkin leveys
Cluster Width Ryhmän leveys
Mark Data Points Merkitse arvopisteet
Connect Data Points Yhdistä arvopisteet
Edge-to-Edge Lines Viivat reunasta reunaan
Draw Filled Lines Piirrä täytetyt viivat
Tick Values Asteikon arvot
Override Calculated Values Ohita lasketut arvot
Divisions Jaot
Tick Marks Asteikkomerkit
Tick Marks per Division Asteikkomerkkejä jakoa kohden
Draw Tick Marks Between Labels Piirrä asteikkomerkit nimien väliin
Add Labels Lisää nimet
Maximum must be more than Minimum. Suurimman on oltava pienintä suurempi.
Column Graph Pylväskaavio
Stacked Column Graph Pinottu pylväskaavio
Bar Graph Palkkikaavio
Stacked Bar Graph Pinottu palkkikaavio
Line Graph Viivakaavio
Area Graph Aluekaavio
Scatter Graph Hajontakaavio
Pie Graph Ympyräkaavio
Radar Graph Säteittäinen kaavio
Vector Halftone Vektorirasteri
spot spotti
Text Teksti
Can't render this file because it contains an unexpected character in line 2 and column 73.
+34
View File
@@ -1414,6 +1414,40 @@ font-technology Variable Variables
Graph Graphe
Graph Data Données du graphe
Graph Type Type de graphe
Graph Options Options du graphe
Left Axis Axe gauche
Right Axis Axe droit
Category Axis Axe des catégories
Separate Scales Échelles distinctes
Add Drop Shadow Ajouter une ombre portée
Add Legend Across Top Ajouter la légende en haut
First Row in Front Première ligne au premier plan
First Column in Front Première colonne au premier plan
Legend Légende
Column Width Largeur des colonnes
Bar Width Largeur des barres
Cluster Width Largeur des groupes
Mark Data Points Marquer les points de données
Connect Data Points Relier les points de données
Edge-to-Edge Lines Lignes bord à bord
Draw Filled Lines Tracer des lignes pleines
Tick Values Valeurs des graduations
Override Calculated Values Remplacer les valeurs calculées
Divisions Divisions
Tick Marks Graduations
Tick Marks per Division Graduations par division
Draw Tick Marks Between Labels Tracer les graduations entre les étiquettes
Add Labels Ajouter des étiquettes
Maximum must be more than Minimum. Le maximum doit être supérieur au minimum.
Column Graph Graphe à colonnes
Stacked Column Graph Graphe à colonnes empilées
Bar Graph Graphe à barres
Stacked Bar Graph Graphe à barres empilées
Line Graph Graphe linéaire
Area Graph Graphe de zones
Scatter Graph Graphe de dispersion
Pie Graph Graphe à secteurs
Radar Graph Graphe radar
Graph Design Conception de graphe
Graph Marker Marqueur de graphe
New Design Nouvelle conception
Can't render this file because it is too large.
+34
View File
@@ -1541,6 +1541,40 @@
Graph Design ગ્રાફ ડિઝાઇન
Graph Marker ગ્રાફ માર્કર
Graph Type ગ્રાફ પ્રકાર
Graph Options ગ્રાફ વિકલ્પો
Left Axis ડાબી અક્ષ
Right Axis જમણી અક્ષ
Category Axis શ્રેણી અક્ષ
Separate Scales અલગ સ્કેલ
Add Drop Shadow ડ્રોપ શેડો ઉમેરો
Add Legend Across Top ઉપર લેજન્ડ ઉમેરો
First Row in Front પ્રથમ પંક્તિ આગળ
First Column in Front પ્રથમ કૉલમ આગળ
Legend લેજન્ડ
Column Width કૉલમ પહોળાઈ
Bar Width બાર પહોળાઈ
Cluster Width જૂથ પહોળાઈ
Mark Data Points ડેટા પોઇન્ટ ચિહ્નિત કરો
Connect Data Points ડેટા પોઇન્ટ જોડો
Edge-to-Edge Lines કિનારીથી કિનારી સુધી રેખાઓ
Draw Filled Lines ભરેલી રેખાઓ દોરો
Tick Values ટિક મૂલ્યો
Override Calculated Values ગણતરી કરેલાં મૂલ્યો બદલો
Divisions વિભાગો
Tick Marks ટિક ચિહ્નો
Tick Marks per Division વિભાગ દીઠ ટિક ચિહ્નો
Draw Tick Marks Between Labels લેબલ વચ્ચે ટિક ચિહ્નો દોરો
Add Labels લેબલ ઉમેરો
Maximum must be more than Minimum. મહત્તમ ન્યૂનતમ કરતાં વધુ હોવું જોઈએ.
Column Graph કૉલમ ગ્રાફ
Stacked Column Graph સ્ટેક્ડ કૉલમ ગ્રાફ
Bar Graph બાર ગ્રાફ
Stacked Bar Graph સ્ટેક્ડ બાર ગ્રાફ
Line Graph રેખા ગ્રાફ
Area Graph ક્ષેત્ર ગ્રાફ
Scatter Graph સ્કેટર ગ્રાફ
Pie Graph પાઇ ગ્રાફ
Radar Graph રડાર ગ્રાફ
Graphic Pen… ગ્રાફિક પેન…
Graphic Style ગ્રાફિક સ્ટાઇલ
Graphic Style Libraries ગ્રાફિક સ્ટાઇલ લાઇબ્રેરીઓ
Can't render this file because it contains an unexpected character in line 72 and column 5.
+34
View File
@@ -2116,6 +2116,40 @@ antiAlias Sharp शार्प
Graph Design ग्राफ़ डिजाइन
Graph Marker ग्राफ़ मार्कर
Graph Type ग्राफ़ टाइप
Graph Options ग्राफ़ विकल्प
Left Axis बायाँ एक्सिस
Right Axis दायाँ एक्सिस
Category Axis श्रेणी एक्सिस
Separate Scales अलग स्केल
Add Drop Shadow ड्रॉप शैडो जोड़ें
Add Legend Across Top ऊपर लेजेंड जोड़ें
First Row in Front पहली पंक्ति आगे
First Column in Front पहला कॉलम आगे
Legend लेजेंड
Column Width कॉलम चौड़ाई
Bar Width बार चौड़ाई
Cluster Width समूह चौड़ाई
Mark Data Points डेटा पॉइंट चिह्नित करें
Connect Data Points डेटा पॉइंट जोड़ें
Edge-to-Edge Lines किनारे से किनारे तक रेखाएँ
Draw Filled Lines भरी हुई रेखाएँ बनाएँ
Tick Values टिक मान
Override Calculated Values परिकलित मानों को बदलें
Divisions विभाजन
Tick Marks टिक चिह्न
Tick Marks per Division प्रति विभाजन टिक चिह्न
Draw Tick Marks Between Labels लेबलों के बीच टिक चिह्न बनाएँ
Add Labels लेबल जोड़ें
Maximum must be more than Minimum. अधिकतम, न्यूनतम से अधिक होना चाहिए।
Column Graph कॉलम ग्राफ़
Stacked Column Graph स्टैक्ड कॉलम ग्राफ़
Bar Graph बार ग्राफ़
Stacked Bar Graph स्टैक्ड बार ग्राफ़
Line Graph लाइन ग्राफ़
Area Graph एरिया ग्राफ़
Scatter Graph स्कैटर ग्राफ़
Pie Graph पाई ग्राफ़
Radar Graph रडार ग्राफ़
Graphic ग्राफिक
Graphic Pen ग्राफ़िक पेन
Graphic Pen… ग्राफ़िक पेन…
Can't render this file because it is too large.
+34
View File
@@ -1765,6 +1765,40 @@ file-filter Templates Sablonok
Graph Diagram
Graph Data Diagramadatok
Graph Type Diagramtípus
Graph Options Diagrambeállítások
Left Axis Bal tengely
Right Axis Jobb tengely
Category Axis Kategóriatengely
Separate Scales Külön skálák
Add Drop Shadow Vetett árnyék hozzáadása
Add Legend Across Top Jelmagyarázat felül
First Row in Front Első sor elöl
First Column in Front Első oszlop elöl
Legend Jelmagyarázat
Column Width Oszlopszélesség
Bar Width Sávszélesség
Cluster Width Csoportszélesség
Mark Data Points Adatpontok jelölése
Connect Data Points Adatpontok összekötése
Edge-to-Edge Lines Széltől szélig érő vonalak
Draw Filled Lines Kitöltött vonalak rajzolása
Tick Values Osztásértékek
Override Calculated Values Számított értékek felülírása
Divisions Osztások
Tick Marks Osztásjelek
Tick Marks per Division Osztásjelek osztásonként
Draw Tick Marks Between Labels Osztásjelek a címkék között
Add Labels Címkék hozzáadása
Maximum must be more than Minimum. A maximumnak nagyobbnak kell lennie a minimumnál.
Column Graph Oszlopdiagram
Stacked Column Graph Halmozott oszlopdiagram
Bar Graph Sávdiagram
Stacked Bar Graph Halmozott sávdiagram
Line Graph Vonaldiagram
Area Graph Területdiagram
Scatter Graph Pontdiagram
Pie Graph Kördiagram
Radar Graph Sugárdiagram
Select Segments Szakaszok kijelölése
Artistic Művészi
Film Grain… Filmszemcse…
Can't render this file because it is too large.
+34
View File
@@ -3360,6 +3360,40 @@ theme Appearance Tampilan
Create Graph Buat grafik
Graph Data Data grafik
Graph Type Jenis grafik
Graph Options Opsi grafik
Left Axis Sumbu kiri
Right Axis Sumbu kanan
Category Axis Sumbu kategori
Separate Scales Skala terpisah
Add Drop Shadow Tambahkan bayangan jatuh
Add Legend Across Top Tambahkan legenda di atas
First Row in Front Baris pertama di depan
First Column in Front Kolom pertama di depan
Legend Legenda
Column Width Lebar kolom
Bar Width Lebar batang
Cluster Width Lebar kelompok
Mark Data Points Tandai titik data
Connect Data Points Hubungkan titik data
Edge-to-Edge Lines Garis dari tepi ke tepi
Draw Filled Lines Gambar garis terisi
Tick Values Nilai tanda skala
Override Calculated Values Timpa nilai terhitung
Divisions Pembagian
Tick Marks Tanda skala
Tick Marks per Division Tanda skala per pembagian
Draw Tick Marks Between Labels Gambar tanda skala di antara label
Add Labels Tambahkan label
Maximum must be more than Minimum. Maksimum harus lebih besar dari minimum.
Column Graph Grafik kolom
Stacked Column Graph Grafik kolom bertumpuk
Bar Graph Grafik batang
Stacked Bar Graph Grafik batang bertumpuk
Line Graph Grafik garis
Area Graph Grafik area
Scatter Graph Grafik sebar
Pie Graph Grafik pai
Radar Graph Grafik radar
Vector Halftone Halftone vektor
spot spot
Text Teks
Can't render this file because it contains an unexpected character in line 2459 and column 5.
+34
View File
@@ -1441,6 +1441,40 @@ file-filter Templates Modelli
Graph Grafico
Graph Data Dati grafico
Graph Type Tipo di grafico
Graph Options Opzioni grafico
Left Axis Asse sinistro
Right Axis Asse destro
Category Axis Asse delle categorie
Separate Scales Scale separate
Add Drop Shadow Aggiungi ombra esterna
Add Legend Across Top Aggiungi legenda in alto
First Row in Front Prima riga in primo piano
First Column in Front Prima colonna in primo piano
Legend Legenda
Column Width Larghezza colonne
Bar Width Larghezza barre
Cluster Width Larghezza gruppi
Mark Data Points Contrassegna punti dati
Connect Data Points Collega punti dati
Edge-to-Edge Lines Linee da bordo a bordo
Draw Filled Lines Disegna linee piene
Tick Values Valori delle tacche
Override Calculated Values Sostituisci valori calcolati
Divisions Divisioni
Tick Marks Tacche
Tick Marks per Division Tacche per divisione
Draw Tick Marks Between Labels Disegna tacche tra le etichette
Add Labels Aggiungi etichette
Maximum must be more than Minimum. Il massimo deve essere maggiore del minimo.
Column Graph Grafico a colonne
Stacked Column Graph Grafico a colonne in pila
Bar Graph Grafico a barre
Stacked Bar Graph Grafico a barre in pila
Line Graph Grafico a linee
Area Graph Grafico ad area
Scatter Graph Grafico a dispersione
Pie Graph Grafico a torta
Radar Graph Grafico radar
Graph Design Design del grafico
Graph Marker Indicatore del grafico
New Design Nuovo design
Can't render this file because it is too large.
+34
View File
@@ -3858,6 +3858,40 @@ file-filter Templates テンプレート
Gradient (. or Shift+.) グラデーション (. または Shift+.)
Graph Data グラフデータ
Graph Type グラフの種類
Graph Options グラフオプション
Left Axis 左軸
Right Axis 右軸
Category Axis 項目軸
Separate Scales 目盛りを別にする
Add Drop Shadow ドロップシャドウを追加
Add Legend Across Top 凡例を上に表示
First Row in Front 最初の行を前面に
First Column in Front 最初の列を前面に
Legend 凡例
Column Width 棒の幅
Bar Width 横棒の幅
Cluster Width グループの幅
Mark Data Points データポイントにマーカーを表示
Connect Data Points データポイントを線でつなぐ
Edge-to-Edge Lines 端から端までの線
Draw Filled Lines 線を塗りつぶして描く
Tick Values 目盛りの値
Override Calculated Values 計算値を上書き
Divisions 分割数
Tick Marks 目盛り
Tick Marks per Division 分割ごとの目盛り
Draw Tick Marks Between Labels ラベルの間に目盛りを描く
Add Labels ラベルを追加
Maximum must be more than Minimum. 最大値は最小値より大きくしてください。
Column Graph 棒グラフ
Stacked Column Graph 積み上げ棒グラフ
Bar Graph 横向き棒グラフ
Stacked Bar Graph 横向き積み上げ棒グラフ
Line Graph 折れ線グラフ
Area Graph 面グラフ
Scatter Graph 散布図
Pie Graph 円グラフ
Radar Graph レーダーチャート
Graph Design グラフのデザイン
Graph Marker グラフのマーカー
New Design 新規デザイン
Can't render this file because it is too large.
+34
View File
@@ -3248,6 +3248,40 @@ theme Appearance იერსახე
Create Graph გრაფიკის შექმნა
Graph Data გრაფიკის მონაცემები
Graph Type გრაფიკის ტიპი
Graph Options გრაფიკის პარამეტრები
Left Axis მარცხენა ღერძი
Right Axis მარჯვენა ღერძი
Category Axis კატეგორიების ღერძი
Separate Scales ცალკე სკალები
Add Drop Shadow ჩრდილის დამატება
Add Legend Across Top ლეგენდის დამატება ზემოთ
First Row in Front პირველი მწკრივი წინ
First Column in Front პირველი სვეტი წინ
Legend ლეგენდა
Column Width სვეტის სიგანე
Bar Width ზოლის სიგანე
Cluster Width ჯგუფის სიგანე
Mark Data Points მონაცემთა წერტილების მონიშვნა
Connect Data Points მონაცემთა წერტილების შეერთება
Edge-to-Edge Lines ხაზები კიდიდან კიდემდე
Draw Filled Lines შევსებული ხაზების დახატვა
Tick Values დანაყოფების მნიშვნელობები
Override Calculated Values გამოთვლილი მნიშვნელობების შეცვლა
Divisions დანაყოფები
Tick Marks დანაყოფის ნიშნები
Tick Marks per Division ნიშნები თითო დანაყოფზე
Draw Tick Marks Between Labels ნიშნების დახატვა წარწერებს შორის
Add Labels წარწერების დამატება
Maximum must be more than Minimum. მაქსიმუმი მინიმუმზე მეტი უნდა იყოს.
Column Graph სვეტოვანი გრაფიკი
Stacked Column Graph დაწყობილი სვეტოვანი გრაფიკი
Bar Graph ზოლოვანი გრაფიკი
Stacked Bar Graph დაწყობილი ზოლოვანი გრაფიკი
Line Graph ხაზოვანი გრაფიკი
Area Graph არეების გრაფიკი
Scatter Graph გაფანტული გრაფიკი
Pie Graph წრიული გრაფიკი
Radar Graph რადარული გრაფიკი
Vector Halftone ვექტორული ნახევარტონი
spot სპოტ
Text ტექსტი
Can't render this file because it is too large.
+34
View File
@@ -3846,6 +3846,40 @@ file-filter Templates 템플릿
Gradient (. or Shift+.) 그레이디언트 (. 또는 Shift+.)
Graph Data 그래프 데이터
Graph Type 그래프 유형
Graph Options 그래프 옵션
Left Axis 왼쪽 축
Right Axis 오른쪽 축
Category Axis 범주 축
Separate Scales 별도 눈금
Add Drop Shadow 드롭 섀도 추가
Add Legend Across Top 위쪽에 범례 추가
First Row in Front 첫 행을 앞에
First Column in Front 첫 열을 앞에
Legend 범례
Column Width 세로 막대 폭
Bar Width 가로 막대 폭
Cluster Width 묶음 폭
Mark Data Points 데이터 요소 표시
Connect Data Points 데이터 요소 연결
Edge-to-Edge Lines 가장자리 간 선
Draw Filled Lines 채워진 선 그리기
Tick Values 눈금 값
Override Calculated Values 계산된 값 재정의
Divisions 구간
Tick Marks 눈금 표시
Tick Marks per Division 구간당 눈금 표시
Draw Tick Marks Between Labels 레이블 사이에 눈금 표시 그리기
Add Labels 레이블 추가
Maximum must be more than Minimum. 최대값은 최소값보다 커야 합니다.
Column Graph 세로 막대 그래프
Stacked Column Graph 누적 세로 막대 그래프
Bar Graph 가로 막대 그래프
Stacked Bar Graph 누적 가로 막대 그래프
Line Graph 선 그래프
Area Graph 영역 그래프
Scatter Graph 분산형 그래프
Pie Graph 원형 그래프
Radar Graph 방사형 그래프
Graph Design 그래프 디자인
Graph Marker 그래프 마커
New Design 새 디자인
Can't render this file because it is too large.
+34
View File
@@ -3920,6 +3920,40 @@ theme Appearance Vormgeving
Create Graph Diagram maken
Graph Data Diagramgegevens
Graph Type Diagramtype
Graph Options Diagramopties
Left Axis Linkeras
Right Axis Rechteras
Category Axis Categorie-as
Separate Scales Aparte schalen
Add Drop Shadow Slagschaduw toevoegen
Add Legend Across Top Legenda bovenaan toevoegen
First Row in Front Eerste rij vooraan
First Column in Front Eerste kolom vooraan
Legend Legenda
Column Width Kolombreedte
Bar Width Staafbreedte
Cluster Width Groepbreedte
Mark Data Points Gegevenspunten markeren
Connect Data Points Gegevenspunten verbinden
Edge-to-Edge Lines Lijnen van rand tot rand
Draw Filled Lines Gevulde lijnen tekenen
Tick Values Maatstreepwaarden
Override Calculated Values Berekende waarden negeren
Divisions Verdelingen
Tick Marks Maatstreepjes
Tick Marks per Division Maatstreepjes per verdeling
Draw Tick Marks Between Labels Maatstreepjes tussen labels tekenen
Add Labels Labels toevoegen
Maximum must be more than Minimum. Het maximum moet groter zijn dan het minimum.
Column Graph Kolomdiagram
Stacked Column Graph Gestapeld kolomdiagram
Bar Graph Staafdiagram
Stacked Bar Graph Gestapeld staafdiagram
Line Graph Lijndiagram
Area Graph Vlakdiagram
Scatter Graph Spreidingsdiagram
Pie Graph Cirkeldiagram
Radar Graph Radardiagram
Vector Halftone Vectorhalftoon
spot spot
Text Tekst
Can't render this file because it is too large.
+34
View File
@@ -3550,6 +3550,40 @@ theme Appearance Wygląd
Create Graph Utwórz wykres
Graph Data Dane wykresu
Graph Type Typ wykresu
Graph Options Opcje wykresu
Left Axis Lewa oś
Right Axis Prawa oś
Category Axis Oś kategorii
Separate Scales Oddzielne skale
Add Drop Shadow Dodaj cień
Add Legend Across Top Dodaj legendę u góry
First Row in Front Pierwszy wiersz z przodu
First Column in Front Pierwsza kolumna z przodu
Legend Legenda
Column Width Szerokość kolumny
Bar Width Szerokość słupka
Cluster Width Szerokość grupy
Mark Data Points Oznacz punkty danych
Connect Data Points Połącz punkty danych
Edge-to-Edge Lines Linie od krawędzi do krawędzi
Draw Filled Lines Rysuj wypełnione linie
Tick Values Wartości podziałki
Override Calculated Values Zastąp obliczone wartości
Divisions Podziały
Tick Marks Znaczniki podziałki
Tick Marks per Division Znaczniki na podział
Draw Tick Marks Between Labels Rysuj znaczniki między etykietami
Add Labels Dodaj etykiety
Maximum must be more than Minimum. Maksimum musi być większe niż minimum.
Column Graph Wykres kolumnowy
Stacked Column Graph Skumulowany wykres kolumnowy
Bar Graph Wykres słupkowy
Stacked Bar Graph Skumulowany wykres słupkowy
Line Graph Wykres liniowy
Area Graph Wykres warstwowy
Scatter Graph Wykres punktowy
Pie Graph Wykres kołowy
Radar Graph Wykres radarowy
Vector Halftone Półton wektorowy
spot dodatkowy
Text Tekst
Can't render this file because it is too large.
+34
View File
@@ -4970,6 +4970,40 @@ axis Both Ambos
Gradient (. or Shift+.) Gradiente (. ou Shift+.)
Graph Data Dados do Gráfico
Graph Type Tipo de Gráfico
Graph Options Opções do Gráfico
Left Axis Eixo Esquerdo
Right Axis Eixo Direito
Category Axis Eixo de Categorias
Separate Scales Escalas Separadas
Add Drop Shadow Adicionar Sombra Projetada
Add Legend Across Top Adicionar Legenda na Parte Superior
First Row in Front Primeira Linha na Frente
First Column in Front Primeira Coluna na Frente
Legend Legenda
Column Width Largura da Coluna
Bar Width Largura da Barra
Cluster Width Largura do Grupo
Mark Data Points Marcar Pontos de Dados
Connect Data Points Conectar Pontos de Dados
Edge-to-Edge Lines Linhas de Borda a Borda
Draw Filled Lines Desenhar Linhas Preenchidas
Tick Values Valores das Marcas
Override Calculated Values Substituir Valores Calculados
Divisions Divisões
Tick Marks Marcas de Escala
Tick Marks per Division Marcas por Divisão
Draw Tick Marks Between Labels Desenhar Marcas entre Rótulos
Add Labels Adicionar Rótulos
Maximum must be more than Minimum. O máximo deve ser maior que o mínimo.
Column Graph Gráfico de Colunas
Stacked Column Graph Gráfico de Colunas Empilhadas
Bar Graph Gráfico de Barras
Stacked Bar Graph Gráfico de Barras Empilhadas
Line Graph Gráfico de Linhas
Area Graph Gráfico de Áreas
Scatter Graph Gráfico de Dispersão
Pie Graph Gráfico de Pizza
Radar Graph Gráfico de Radar
New Design Novo Design
Delete Design Excluir Design
Paste Design Colar Design
Can't render this file because it is too large.
+34
View File
@@ -1430,6 +1430,40 @@ file-filter Templates Шаблоны
Graph Диаграмма
Graph Data Данные диаграммы
Graph Type Тип диаграммы
Graph Options Параметры диаграммы
Left Axis Левая ось
Right Axis Правая ось
Category Axis Ось категорий
Separate Scales Раздельные шкалы
Add Drop Shadow Добавить тень
Add Legend Across Top Добавить легенду сверху
First Row in Front Первая строка спереди
First Column in Front Первый столбец спереди
Legend Легенда
Column Width Ширина столбца
Bar Width Ширина полосы
Cluster Width Ширина группы
Mark Data Points Отмечать точки данных
Connect Data Points Соединять точки данных
Edge-to-Edge Lines Линии от края до края
Draw Filled Lines Рисовать заполненные линии
Tick Values Значения делений
Override Calculated Values Заменить вычисленные значения
Divisions Деления
Tick Marks Метки делений
Tick Marks per Division Меток на деление
Draw Tick Marks Between Labels Рисовать метки между подписями
Add Labels Добавить подписи
Maximum must be more than Minimum. Максимум должен быть больше минимума.
Column Graph Столбчатая диаграмма
Stacked Column Graph Столбчатая диаграмма с накоплением
Bar Graph Линейчатая диаграмма
Stacked Bar Graph Линейчатая диаграмма с накоплением
Line Graph График
Area Graph Диаграмма с областями
Scatter Graph Точечная диаграмма
Pie Graph Круговая диаграмма
Radar Graph Лепестковая диаграмма
Graph Design Дизайн диаграммы
Graph Marker Маркер диаграммы
New Design Новый дизайн
Can't render this file because it is too large.
+34
View File
@@ -1379,6 +1379,40 @@ font-technology Variable Variabla
Graph Diagram
Graph Data Diagramdata
Graph Type Diagramtyp
Graph Options Diagramalternativ
Left Axis Vänster axel
Right Axis Höger axel
Category Axis Kategoriaxel
Separate Scales Separata skalor
Add Drop Shadow Lägg till slagskugga
Add Legend Across Top Lägg till förklaring överst
First Row in Front Första raden längst fram
First Column in Front Första kolumnen längst fram
Legend Förklaring
Column Width Stapelbredd
Bar Width Liggande stapelbredd
Cluster Width Gruppbredd
Mark Data Points Markera datapunkter
Connect Data Points Förbind datapunkter
Edge-to-Edge Lines Linjer från kant till kant
Draw Filled Lines Rita fyllda linjer
Tick Values Skalstrecksvärden
Override Calculated Values Åsidosätt beräknade värden
Divisions Indelningar
Tick Marks Skalstreck
Tick Marks per Division Skalstreck per indelning
Draw Tick Marks Between Labels Rita skalstreck mellan etiketter
Add Labels Lägg till etiketter
Maximum must be more than Minimum. Maximum måste vara större än minimum.
Column Graph Stapeldiagram
Stacked Column Graph Staplat stapeldiagram
Bar Graph Liggande stapeldiagram
Stacked Bar Graph Staplat liggande stapeldiagram
Line Graph Linjediagram
Area Graph Ytdiagram
Scatter Graph Punktdiagram
Pie Graph Cirkeldiagram
Radar Graph Polärdiagram
Graph Design Diagramdesign
Graph Marker Diagrammarkör
New Design Ny design
Can't render this file because it is too large.
+34
View File
@@ -1353,6 +1353,40 @@ font-technology Variable Değişken
Graph Grafik
Graph Data Grafik Verileri
Graph Type Grafik Türü
Graph Options Grafik Seçenekleri
Left Axis Sol Eksen
Right Axis Sağ Eksen
Category Axis Kategori Ekseni
Separate Scales Ayrı Ölçekler
Add Drop Shadow Alt Gölge Ekle
Add Legend Across Top Göstergeyi Üste Ekle
First Row in Front İlk Satır Önde
First Column in Front İlk Sütun Önde
Legend Gösterge
Column Width Sütun Genişliği
Bar Width Çubuk Genişliği
Cluster Width Küme Genişliği
Mark Data Points Veri Noktalarını İşaretle
Connect Data Points Veri Noktalarını Bağla
Edge-to-Edge Lines Kenardan Kenara Çizgiler
Draw Filled Lines Dolgulu Çizgiler Çiz
Tick Values Onay İşareti Değerleri
Override Calculated Values Hesaplanan Değerleri Geçersiz Kıl
Divisions Bölümler
Tick Marks Ölçek İşaretleri
Tick Marks per Division Bölüm Başına Ölçek İşareti
Draw Tick Marks Between Labels Etiketler Arasına Ölçek İşaretleri Çiz
Add Labels Etiket Ekle
Maximum must be more than Minimum. En çok, en azdan büyük olmalıdır.
Column Graph Sütun Grafik
Stacked Column Graph Yığılmış Sütun Grafik
Bar Graph Çubuk Grafik
Stacked Bar Graph Yığılmış Çubuk Grafik
Line Graph Çizgi Grafik
Area Graph Alan Grafik
Scatter Graph Dağılım Grafik
Pie Graph Pasta Grafik
Radar Graph Radar Grafik
Graph Design Grafik Tasarımı
Graph Marker Grafik İşaretleyici
New Design Yeni Tasarım
Can't render this file because it is too large.
+34
View File
@@ -1435,6 +1435,40 @@ file-filter Templates Шаблони
Graph Діаграма
Graph Data Дані діаграми
Graph Type Тип діаграми
Graph Options Параметри діаграми
Left Axis Ліва вісь
Right Axis Права вісь
Category Axis Вісь категорій
Separate Scales Окремі шкали
Add Drop Shadow Додати тінь
Add Legend Across Top Додати легенду вгорі
First Row in Front Перший рядок попереду
First Column in Front Перший стовпець попереду
Legend Легенда
Column Width Ширина стовпця
Bar Width Ширина смуги
Cluster Width Ширина групи
Mark Data Points Позначати точки даних
Connect Data Points З'єднувати точки даних
Edge-to-Edge Lines Лінії від краю до краю
Draw Filled Lines Малювати заповнені лінії
Tick Values Значення поділок
Override Calculated Values Замінити обчислені значення
Divisions Поділки
Tick Marks Позначки поділок
Tick Marks per Division Позначок на поділку
Draw Tick Marks Between Labels Малювати позначки між підписами
Add Labels Додати підписи
Maximum must be more than Minimum. Максимум має бути більшим за мінімум.
Column Graph Стовпчикова діаграма
Stacked Column Graph Стовпчикова діаграма з накопиченням
Bar Graph Лінійчата діаграма
Stacked Bar Graph Лінійчата діаграма з накопиченням
Line Graph Графік
Area Graph Діаграма з областями
Scatter Graph Точкова діаграма
Pie Graph Кругова діаграма
Radar Graph Пелюсткова діаграма
Graph Design Дизайн діаграми
Graph Marker Маркер діаграми
New Design Новий дизайн
Can't render this file because it is too large.
+34
View File
@@ -1685,6 +1685,40 @@ file-filter Templates Mẫu
Chop Design Cắt thiết kế
Scale Design Co giãn thiết kế
Graph Type Loại biểu đồ
Graph Options Tùy chọn biểu đồ
Left Axis Trục trái
Right Axis Trục phải
Category Axis Trục danh mục
Separate Scales Thang đo riêng
Add Drop Shadow Thêm đổ bóng
Add Legend Across Top Thêm chú giải ở trên cùng
First Row in Front Hàng đầu tiên ở trước
First Column in Front Cột đầu tiên ở trước
Legend Chú giải
Column Width Độ rộng cột
Bar Width Độ rộng thanh
Cluster Width Độ rộng nhóm
Mark Data Points Đánh dấu điểm dữ liệu
Connect Data Points Nối các điểm dữ liệu
Edge-to-Edge Lines Đường từ mép đến mép
Draw Filled Lines Vẽ đường tô đầy
Tick Values Giá trị vạch chia
Override Calculated Values Ghi đè giá trị đã tính
Divisions Số khoảng chia
Tick Marks Vạch chia
Tick Marks per Division Vạch chia mỗi khoảng
Draw Tick Marks Between Labels Vẽ vạch chia giữa các nhãn
Add Labels Thêm nhãn
Maximum must be more than Minimum. Giá trị tối đa phải lớn hơn giá trị tối thiểu.
Column Graph Biểu đồ cột
Stacked Column Graph Biểu đồ cột chồng
Bar Graph Biểu đồ thanh
Stacked Bar Graph Biểu đồ thanh chồng
Line Graph Biểu đồ đường
Area Graph Biểu đồ vùng
Scatter Graph Biểu đồ phân tán
Pie Graph Biểu đồ tròn
Radar Graph Biểu đồ radar
Graphic Đồ họa
Graphic Style Kiểu đồ họa
Graphic Style Libraries Thư viện kiểu đồ họa
Can't render this file because it contains an unexpected character in line 204 and column 5.
+34
View File
@@ -1370,6 +1370,40 @@ file-filter Templates 模板
Graph 图表
Graph Data 图表数据
Graph Type 图表类型
Graph Options 图表选项
Left Axis 左轴
Right Axis 右轴
Category Axis 类别轴
Separate Scales 分开刻度
Add Drop Shadow 添加投影
Add Legend Across Top 在顶部添加图例
First Row in Front 第一行在前
First Column in Front 第一列在前
Legend 图例
Column Width 列宽
Bar Width 条形宽度
Cluster Width 簇宽度
Mark Data Points 标记数据点
Connect Data Points 连接数据点
Edge-to-Edge Lines 边到边线条
Draw Filled Lines 绘制填充线
Tick Values 刻度值
Override Calculated Values 覆盖计算值
Divisions 刻度数
Tick Marks 刻度线
Tick Marks per Division 每个刻度的刻度线数
Draw Tick Marks Between Labels 在标签之间绘制刻度线
Add Labels 添加标签
Maximum must be more than Minimum. 最大值必须大于最小值。
Column Graph 柱形图
Stacked Column Graph 堆积柱形图
Bar Graph 条形图
Stacked Bar Graph 堆积条形图
Line Graph 折线图
Area Graph 面积图
Scatter Graph 散点图
Pie Graph 饼图
Radar Graph 雷达图
Graph Design 图表设计
Graph Marker 图表标记
New Design 新建设计
Can't render this file because it is too large.
+34
View File
@@ -1405,6 +1405,40 @@ file-filter Templates 範本
Graph 圖表
Graph Data 圖表資料
Graph Type 圖表類型
Graph Options 圖表選項
Left Axis 左軸
Right Axis 右軸
Category Axis 類別軸
Separate Scales 分開刻度
Add Drop Shadow 加入投影
Add Legend Across Top 在頂端加入圖例
First Row in Front 第一列在前
First Column in Front 第一欄在前
Legend 圖例
Column Width 直條寬度
Bar Width 橫條寬度
Cluster Width 群組寬度
Mark Data Points 標示資料點
Connect Data Points 連接資料點
Edge-to-Edge Lines 邊到邊線條
Draw Filled Lines 繪製填色線條
Tick Values 刻度值
Override Calculated Values 覆寫計算值
Divisions 刻度數
Tick Marks 刻度記號
Tick Marks per Division 每個刻度的記號數
Draw Tick Marks Between Labels 在標籤之間繪製刻度記號
Add Labels 加入標籤
Maximum must be more than Minimum. 最大值必須大於最小值。
Column Graph 直條圖
Stacked Column Graph 堆疊直條圖
Bar Graph 橫條圖
Stacked Bar Graph 堆疊橫條圖
Line Graph 折線圖
Area Graph 區域圖
Scatter Graph 散佈圖
Pie Graph 圓形圖
Radar Graph 雷達圖
Graph Design 圖表設計
Graph Marker 圖表標記
New Design 新增設計
Can't render this file because it is too large.
+1 -3
View File
@@ -133,9 +133,7 @@ pub(crate) fn graph_dialog(app: &mut VectorcraftApp, id: &str) -> Result<Value,
if id == "graph.setData" {
return crate::dialogs::graph_data::open(app);
}
let v = app.session.execute(id, &json!({})).map_err(|e| e.to_string())?;
let (label, fields) = ("Graph Type", v);
app.run("ui.paramDialog", json!({"command": id, "label": label, "params": fields})).map(|_| json!({ "dialog": "command" }))
crate::dialogs::graph_type::open(app)
}
pub fn invoke(app: &mut VectorcraftApp, id: &str, p: Value) {
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -147,9 +147,9 @@ fn more_tools_open_their_options() {
assert!(open_options(&mut app, "pieGraph").is_err());
assert!(app.ui.dialog.is_none());
app.run("graph.create", json!({"type": "column", "x": 0, "y": 0, "width": 200, "height": 150})).unwrap();
assert_eq!(open_options(&mut app, "pieGraph").unwrap()["dialog"], "command");
assert_eq!(open_options(&mut app, "pieGraph").unwrap()["dialog"], "graphType");
let d = app.ui.dialog.take().unwrap();
assert_eq!((d.str("__command"), d.str("type")), ("graph.setType".to_string(), "column".to_string()));
assert_eq!((d.kind.as_str(), d.str("type")), (crate::dialogs::graph_type::KIND, "column".to_string()));
// The Magic Wand panel opens, and stays open on a second double-click.
open_options(&mut app, "magicWand").unwrap();
assert!(crate::panel_docking::showing(&app.ui, "magicWand"));
+26 -1
View File
@@ -10624,7 +10624,7 @@ drag that places the rings' end point, Space held moves the flare at its current
(dialog `artboardOptions`; the Artboard tool's active artboard while it is in use, else the window's; its `x` and `y`
are the artboard's top-left corner in document points, while the dialog shows X and Y at the reference point the
Transform panel uses, counted from the ruler origin), a graph tool's
the selected graph's Graph Type (an error without one), a Symbolism tool's the Symbolism Tools Options (dialog
the selected graph's Graph Type (dialog `graphType`, described below; an error without one), a Symbolism tool's the Symbolism Tools Options (dialog
`symbolismOptions`: `diameter` in points, `intensity` and `density` 1–10, one brush for the eight tools) and the
Magic Wand tool's its panel. `ui.newArtboard` (Alt-click on the Artboards panel's New Artboard) opens Artboard Options
for a new artboard, with `new: true` and the name, position and size that `artboard.new {}` would give it. OK runs
@@ -10633,6 +10633,31 @@ for a new artboard, with `new: true` and the name, position and size that `artbo
default name, "Artboard N" for the Nth artboard.
A canvas-click dialog also has `preview` (initially on): tentative settings draw at the remembered click, Reset refreshes that preview, and Cancel discards it without persisting settings. OK accepts one flare as one Undo step. Toolbar-only options draw no artwork.
Object › Graph › Type… (`graph.setType` without params) and a double-click on a graph tool open Graph Type (dialog
`graphType`) for the selected graph, or for the series picked in it with Group Selection. Its fields are the options
`graph.setType {}` returns, under the command's names for them. `legend`, `pieLegend`, `piePosition`, `pieSort`,
`firstRowInFront`, `firstColumnInFront` and `filledLines` are held for every type, so a type picked in the dialog shows
the options it uses. `overrideValues` and `rightOverrideValues` are Override Calculated Values of the left (or only)
value axis and of the right one. While one is on, OK sends `axisMin`, `axisMax` and `ticks` (or `rightAxisMin`,
`rightAxisMax` and `rightTicks`), and the dialog fills the ones the graph lacks with the values the axis would be
calculated with for the type, value axis and Separate Scales the dialog shows.
One that was on and is turned off sends `null`, `null` and `0`, and one left off sends none of the three. `__page` is the
page the dialog shows: `options` (Graph Options), `valueAxis` (Value Axis, or Left Axis while the value axis is on both
sides), `rightAxis` (Right Axis, with the value axis on both sides) or `categoryAxis` (column, stacked column, bar,
stacked bar, line and area graphs); a pie graph has the `options` page alone, and a page the type picked lacks shows
`options`. With series picked, `type` and `valueAxis` (`left` or `right`) go to those series and the other options to
the whole graph, as the command applies them; `type` or `valueAxis` is `null` while the picked series differ in it, and
OK then leaves each series as it is. OK runs `graph.setType` with the fields: `legend` for every type but pie,
and the three pie options for a pie graph. When the selection changed while the dialog was open, it also sends `id`, and
`seriesIndexes` while series are picked and a `type` or `valueAxis` goes to them, so it changes the graph and the series
the dialog opened on. A value axis side without a scale of its own (the right side without Separate Scales, or with
Separate Scales a side that no series is on) shows the tick values of the scale drawn on it, and its Override Calculated
Values is dimmed. A value of `axisMin`, `axisMax` or `ticks` (or of the right axis' three) that is not a number is sent
as it is, and `graph.setType` refuses it. With nothing changed it closes without a step of history. An overridden value
axis whose maximum is not more than its minimum is the error "Maximum must be more than Minimum." and the dialog stays
open. The types the dialog dims for picked series (those that cannot go in the graph), the options it dims for a type
and the pages it lists are VectorCraft's own rules.
```json
{"name":"run_command","arguments":{"command":"tool.setOption","params":{"tool":"flare","values":{"rays":24,"ringsOn":false}}}}
```
+1
View File
@@ -394,6 +394,7 @@ next unit in the order a right-click on a ruler lists them, from Feet back to Po
| Selected Grid Repeat shows row, column and corner handles and spacing sliders; bounding-box handles take priority where they meet | done | #2691, `tools/src/repeat_grid.rs`; [public behavior reference](https://helpx.adobe.com/illustrator/desktop/paint-and-fill/create-and-edit-patterns/set-grid-repeat-options.html); drags preview and commit `object.repeat.options` as one undo step, Escape cancels; Radial Repeat has no handles yet |
| Grid Repeat Options (Object › Repeat › Options…) has a Preview checkbox: the repeat on the canvas follows the fields while the dialog is open, Cancel puts the original back without a history step, OK keeps the previewed values as one undo step | done | #2651; [public behavior reference](https://helpx.adobe.com/illustrator/desktop/paint-and-fill/create-and-edit-patterns/set-grid-repeat-options.html) lists the Preview option for the grid options only, so Radial and Mirror Repeat Options have none; `dialogs/command.rs` tests |
| Type on a Path Options (Type › Type on a Path › Type on a Path Options…, or a double-click on the Type on a Path tools) has a Preview checkbox, off when it opens: the selected type on a path follows Effect, Flip, Align to Path and Spacing while the dialog is open, Cancel puts it back without a history step, OK keeps the previewed values as one undo step | done | #5360; the [public page](https://helpx.adobe.com/illustrator/using/creating-type-path.html) lists the dialog's options, and public tutorials of the dialog show its Preview checkbox; `tests/pathtype.rs` |
| Graph Type (Object › Graph › Type…, or a double-click on a graph tool) is a dialog of its own: a menu at the top shows Graph Options or the page of an axis; Graph Options has a button per graph type, Value Axis with Separate Scales, the Style checkboxes (Add Drop Shadow, Add Legend Across Top, First Row in Front, First Column in Front) and the options of the type picked (Column or Bar Width and Cluster Width; Mark Data Points, Connect Data Points, Edge-to-Edge Lines and Draw Filled Lines; a pie graph's Legend, Position and Sort); the Value Axis page (Left Axis and Right Axis with the value axis on both sides) has Tick Values with Override Calculated Values, Tick Marks and Add Labels, and the Category Axis page has Tick Marks with Draw Tick Marks Between Labels; with series picked by Group Selection the type and value axis go to those series | done | Public pages: [graph types](https://helpx.adobe.com/illustrator/desktop/automate-visualize-data/visualize-data/change-graph-types.html), [value axes](https://helpx.adobe.com/illustrator/desktop/automate-visualize-data/visualize-data/change-graph-value-axes.html), [columns, bars and lines](https://helpx.adobe.com/illustrator/desktop/automate-visualize-data/visualize-data/format-columns-bars-and-lines.html), [pie graphs](https://helpx.adobe.com/illustrator/desktop/automate-visualize-data/visualize-data/format-pie-graphs.html), [separate scales](https://helpx.adobe.com/illustrator/desktop/automate-visualize-data/visualize-data/assign-different-scales-to-value-axes.html), [combined types](https://helpx.adobe.com/illustrator/desktop/automate-visualize-data/visualize-data/combine-different-graph-types.html). The options dimmed for a type, the pages listed and the Legend checkbox are VectorCraft's own rules. Dialog `graphType`; `dialogs/graph_type.rs` and its tests |
| Selected Mirror Repeat shows a prominent axis with move and rotation handles; bounding-box handles take priority over the axis line | done | #2877, `tools/src/mirror.rs`; [public behavior reference](https://helpx.adobe.com/illustrator/desktop/paint-and-fill/create-and-edit-patterns/set-mirror-repeat-options.html) |
| Object › Expand on radial, grid and mirror repeats makes groups of their instances | done | #1765 (#1756) |
| Object › Expand… is dimmed while the selection has appearance attributes (effects, several fills or strokes, a fill or stroke with its own transparency or effects, a brush); its tooltip and the status bar say to use Object › Expand Appearance first, which leaves a stroked line with Zig Zag a stroked zig-zag line that Expand then outlines | done | #3089; [public behavior reference](https://helpx.adobe.com/illustrator/desktop/manage-objects/arrange-objects/expand-objects.html); `dialogs/expand.rs` tests, engine `tests_objexpand`. `object.expand` (agents, scripts) still bakes effects in one step |