diff --git a/java_tools/pcb_sync/.idea/.name b/java_tools/pcb_sync/.idea/.name deleted file mode 100644 index 929d46334f..0000000000 --- a/java_tools/pcb_sync/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -pcb_sync \ No newline at end of file diff --git a/java_tools/pcb_sync/.idea/ant.xml b/java_tools/pcb_sync/.idea/ant.xml deleted file mode 100644 index 313b0c0cb8..0000000000 --- a/java_tools/pcb_sync/.idea/ant.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/java_tools/pcb_sync/.idea/compiler.xml b/java_tools/pcb_sync/.idea/compiler.xml deleted file mode 100644 index 217af471a9..0000000000 --- a/java_tools/pcb_sync/.idea/compiler.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - diff --git a/java_tools/pcb_sync/.idea/copyright/profiles_settings.xml b/java_tools/pcb_sync/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf3377..0000000000 --- a/java_tools/pcb_sync/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/java_tools/pcb_sync/.idea/encodings.xml b/java_tools/pcb_sync/.idea/encodings.xml deleted file mode 100644 index e206d70d85..0000000000 --- a/java_tools/pcb_sync/.idea/encodings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/java_tools/pcb_sync/.idea/libraries/junit.xml b/java_tools/pcb_sync/.idea/libraries/junit.xml deleted file mode 100644 index bbfb92c92b..0000000000 --- a/java_tools/pcb_sync/.idea/libraries/junit.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/java_tools/pcb_sync/.idea/misc.xml b/java_tools/pcb_sync/.idea/misc.xml deleted file mode 100644 index dc0cc3b8cf..0000000000 --- a/java_tools/pcb_sync/.idea/misc.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/java_tools/pcb_sync/.idea/modules.xml b/java_tools/pcb_sync/.idea/modules.xml deleted file mode 100644 index b282c31437..0000000000 --- a/java_tools/pcb_sync/.idea/modules.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/java_tools/pcb_sync/.idea/runConfigurations/BomBuilder.xml b/java_tools/pcb_sync/.idea/runConfigurations/BomBuilder.xml deleted file mode 100644 index 8272726709..0000000000 --- a/java_tools/pcb_sync/.idea/runConfigurations/BomBuilder.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - \ No newline at end of file diff --git a/java_tools/pcb_sync/.idea/runConfigurations/Main_move.xml b/java_tools/pcb_sync/.idea/runConfigurations/Main_move.xml deleted file mode 100644 index c8c3899763..0000000000 --- a/java_tools/pcb_sync/.idea/runConfigurations/Main_move.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - \ No newline at end of file diff --git a/java_tools/pcb_sync/.idea/runConfigurations/Main_pcb_merge.xml b/java_tools/pcb_sync/.idea/runConfigurations/Main_pcb_merge.xml deleted file mode 100644 index 8e77fe249c..0000000000 --- a/java_tools/pcb_sync/.idea/runConfigurations/Main_pcb_merge.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - \ No newline at end of file diff --git a/java_tools/pcb_sync/.idea/runConfigurations/Main_rename.xml b/java_tools/pcb_sync/.idea/runConfigurations/Main_rename.xml deleted file mode 100644 index d98ed688b0..0000000000 --- a/java_tools/pcb_sync/.idea/runConfigurations/Main_rename.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - \ No newline at end of file diff --git a/java_tools/pcb_sync/.idea/runConfigurations/RemoveUnneededTraces.xml b/java_tools/pcb_sync/.idea/runConfigurations/RemoveUnneededTraces.xml deleted file mode 100644 index 20763a89da..0000000000 --- a/java_tools/pcb_sync/.idea/runConfigurations/RemoveUnneededTraces.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - \ No newline at end of file diff --git a/java_tools/pcb_sync/.idea/runConfigurations/main_cmp_merge.xml b/java_tools/pcb_sync/.idea/runConfigurations/main_cmp_merge.xml deleted file mode 100644 index 0d7f4a0937..0000000000 --- a/java_tools/pcb_sync/.idea/runConfigurations/main_cmp_merge.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - \ No newline at end of file diff --git a/java_tools/pcb_sync/.idea/scopes/scope_settings.xml b/java_tools/pcb_sync/.idea/scopes/scope_settings.xml deleted file mode 100644 index 922003b843..0000000000 --- a/java_tools/pcb_sync/.idea/scopes/scope_settings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/java_tools/pcb_sync/.idea/uiDesigner.xml b/java_tools/pcb_sync/.idea/uiDesigner.xml deleted file mode 100644 index 3b00020308..0000000000 --- a/java_tools/pcb_sync/.idea/uiDesigner.xml +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java_tools/pcb_sync/.idea/vcs.xml b/java_tools/pcb_sync/.idea/vcs.xml deleted file mode 100644 index ebabb34f16..0000000000 --- a/java_tools/pcb_sync/.idea/vcs.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/java_tools/pcb_sync/6ch_replace.txt b/java_tools/pcb_sync/6ch_replace.txt deleted file mode 100644 index 5be5ee5150..0000000000 --- a/java_tools/pcb_sync/6ch_replace.txt +++ /dev/null @@ -1,48 +0,0 @@ -P1;P401 -P2;P402 -P3;P403 -P4;P404 -P5;P405 -P7;P406 - -R4;R401 -R18;R402 - -R5;R403 -R16;R404 - -R6;R405 -R14;R406 - -R7;R407 -R17;R408 - -R8;R409 -R15;R410 - -R9;R411 -R13;R412 - - -R1;R451 -R2;R452 -R3;R453 - - -Q1;Q401 -Q2;Q402 -Q3;Q403 -Q4;Q404 -Q5;Q405 -Q6;Q406 - - -D1;D401 -D2;D402 -D3;D403 -D4;D404 -D5;D405 -D6;D406 -D7;D407 -D8;D408 - diff --git a/java_tools/pcb_sync/build.xml b/java_tools/pcb_sync/build.xml deleted file mode 100644 index 525e4eb1c1..0000000000 --- a/java_tools/pcb_sync/build.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java_tools/pcb_sync/comp.csv b/java_tools/pcb_sync/comp.csv deleted file mode 100644 index 388955b931..0000000000 --- a/java_tools/pcb_sync/comp.csv +++ /dev/null @@ -1,5 +0,0 @@ -#comment - -SM0805_500K,resistor,resistto_part,hi resistor - -LOGO_LOGO,ignore,ignore,ignore \ No newline at end of file diff --git a/java_tools/pcb_sync/in.cmp b/java_tools/pcb_sync/in.cmp deleted file mode 100644 index e76847fecb..0000000000 --- a/java_tools/pcb_sync/in.cmp +++ /dev/null @@ -1,843 +0,0 @@ -Cmp-Mod V01 Created by CvPcb (2013-mar-13)-testing date = Пнд 20 Янв 2014 20:56:23 - -BeginCmp -TimeStamp = /524A0957; -Reference = C210; -ValeurCmp = 0.01uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524A0814; -Reference = C211; -ValeurCmp = 0.1uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B71C8; -Reference = C220; -ValeurCmp = 0.01uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B795A; -Reference = C230; -ValeurCmp = 0.01uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B797C; -Reference = C240; -ValeurCmp = 0.01uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B84CE; -Reference = C250; -ValeurCmp = 0.01uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B84BC; -Reference = C251; -ValeurCmp = 0.1uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B84F0; -Reference = C260; -ValeurCmp = 0.01uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B8405; -Reference = C270; -ValeurCmp = 0.01uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B8427; -Reference = C280; -ValeurCmp = 0.01uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524F7FCF; -Reference = C290; -ValeurCmp = 0.01uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524F7FBD; -Reference = C291; -ValeurCmp = 0.1uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524F7FED; -Reference = C300; -ValeurCmp = 0.01uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5295CCE4; -Reference = C310; -ValeurCmp = 0.01uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5295CD02; -Reference = C320; -ValeurCmp = 0.01uF; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524F7F12; -Reference = D210; -ValeurCmp = DOUBLE_SCHOTTKY; -IdModule = sot23; -EndCmp - -BeginCmp -TimeStamp = /524F7EE6; -Reference = D220; -ValeurCmp = DOUBLE_SCHOTTKY; -IdModule = sot23; -EndCmp - -BeginCmp -TimeStamp = /524F7290; -Reference = D230; -ValeurCmp = DOUBLE_SCHOTTKY; -IdModule = sot23; -EndCmp - -BeginCmp -TimeStamp = /524F7ED1; -Reference = D240; -ValeurCmp = DOUBLE_SCHOTTKY; -IdModule = sot23; -EndCmp - -BeginCmp -TimeStamp = /52894617; -Reference = D250; -ValeurCmp = DOUBLE_SCHOTTKY; -IdModule = sot23; -EndCmp - -BeginCmp -TimeStamp = /528945F7; -Reference = D260; -ValeurCmp = DOUBLE_SCHOTTKY; -IdModule = sot23; -EndCmp - -BeginCmp -TimeStamp = /52895644; -Reference = D270; -ValeurCmp = DOUBLE_SCHOTTKY; -IdModule = sot23; -EndCmp - -BeginCmp -TimeStamp = /5289563E; -Reference = D280; -ValeurCmp = DOUBLE_SCHOTTKY; -IdModule = sot23; -EndCmp - -BeginCmp -TimeStamp = /524F800B; -Reference = D290; -ValeurCmp = DOUBLE_SCHOTTKY; -IdModule = sot23; -EndCmp - -BeginCmp -TimeStamp = /524F8039; -Reference = D300; -ValeurCmp = DOUBLE_SCHOTTKY; -IdModule = sot23; -EndCmp - -BeginCmp -TimeStamp = /5295CD1A; -Reference = D310; -ValeurCmp = DOUBLE_SCHOTTKY; -IdModule = sot23; -EndCmp - -BeginCmp -TimeStamp = /5295CD43; -Reference = D320; -ValeurCmp = DOUBLE_SCHOTTKY; -IdModule = sot23; -EndCmp - -BeginCmp -TimeStamp = /529C04C3; -Reference = G200; -ValeurCmp = LOGO; -IdModule = LOGO; -EndCmp - -BeginCmp -TimeStamp = /529C091E; -Reference = G201; -ValeurCmp = LOGO; -IdModule = LOGO_F; -EndCmp - -BeginCmp -TimeStamp = /529C09B9; -Reference = G202; -ValeurCmp = LOGO; -IdModule = LOGO_F; -EndCmp - -BeginCmp -TimeStamp = /524F705F; -Reference = LD200; -ValeurCmp = LED; -IdModule = LED-1206; -EndCmp - -BeginCmp -TimeStamp = /52530AFC; -Reference = M200; -ValeurCmp = CONN_1; -IdModule = PIN_ARRAY_1; -EndCmp - -BeginCmp -TimeStamp = /52530B0B; -Reference = M201; -ValeurCmp = CONN_1; -IdModule = PIN_ARRAY_1; -EndCmp - -BeginCmp -TimeStamp = /52896702; -Reference = M202; -ValeurCmp = CONN_1; -IdModule = PIN_ARRAY_1; -EndCmp - -BeginCmp -TimeStamp = /5234F161; -Reference = P201; -ValeurCmp = CONN_10X2; -IdModule = PIN_ARRAY_10X2_M; -EndCmp - -BeginCmp -TimeStamp = /524F6D3B; -Reference = P202; -ValeurCmp = CONN_3; -IdModule = PIN_ARRAY_3X1; -EndCmp - -BeginCmp -TimeStamp = /5296836D; -Reference = P203; -ValeurCmp = CONN_2; -IdModule = SIL-2; -EndCmp - -BeginCmp -TimeStamp = /52941801; -Reference = P204; -ValeurCmp = CONN_1; -IdModule = PIN_ARRAY_1; -EndCmp - -BeginCmp -TimeStamp = /5295D3A8; -Reference = P205; -ValeurCmp = CONN_1; -IdModule = PIN_ARRAY_1; -EndCmp - -BeginCmp -TimeStamp = /5297EAA7; -Reference = P207; -ValeurCmp = CONN_2; -IdModule = SIL-2; -EndCmp - -BeginCmp -TimeStamp = /52967E40; -Reference = P208; -ValeurCmp = CONN_6; -IdModule = PIN_ARRAY-6X1; -EndCmp - -BeginCmp -TimeStamp = /524F7A58; -Reference = P209; -ValeurCmp = CONN_6; -IdModule = PIN_ARRAY-6X1; -EndCmp - -BeginCmp -TimeStamp = /524F714A; -Reference = R200; -ValeurCmp = 100; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524A0A89; -Reference = R210; -ValeurCmp = 2700; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /52350E9D; -Reference = R211; -ValeurCmp = 500K; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /525221CC; -Reference = R212; -ValeurCmp = 10k; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524A093F; -Reference = R213; -ValeurCmp = 100; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5234EE8F; -Reference = R214; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5234EE80; -Reference = R215; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B7296; -Reference = R220; -ValeurCmp = 2700; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /52351952; -Reference = R221; -ValeurCmp = 500K; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /525223BA; -Reference = R222; -ValeurCmp = 10k; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B71C2; -Reference = R223; -ValeurCmp = 100; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /52353061; -Reference = R224; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5235311B; -Reference = R225; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B7962; -Reference = R230; -ValeurCmp = 2700; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B7902; -Reference = R231; -ValeurCmp = 500K; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /52894D15; -Reference = R232; -ValeurCmp = 10k; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B7954; -Reference = R233; -ValeurCmp = 100; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B78DA; -Reference = R234; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B78D4; -Reference = R235; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B798A; -Reference = R240; -ValeurCmp = 2700; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B7914; -Reference = R241; -ValeurCmp = 500K; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /52894D25; -Reference = R242; -ValeurCmp = 10k; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B7976; -Reference = R243; -ValeurCmp = 100; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B7920; -Reference = R244; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B7926; -Reference = R245; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B84D6; -Reference = R250; -ValeurCmp = 2700; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B8476; -Reference = R251; -ValeurCmp = 500K; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /52894FE9; -Reference = R252; -ValeurCmp = 10k; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B84C8; -Reference = R253; -ValeurCmp = 100; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B844E; -Reference = R254; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B8448; -Reference = R255; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B84FE; -Reference = R260; -ValeurCmp = 2700; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B8488; -Reference = R261; -ValeurCmp = 500K; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /52894FEF; -Reference = R262; -ValeurCmp = 10k; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B84EA; -Reference = R263; -ValeurCmp = 100; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B8494; -Reference = R264; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B849A; -Reference = R265; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B840D; -Reference = R270; -ValeurCmp = 2700; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B83AD; -Reference = R271; -ValeurCmp = 500K; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /52895668; -Reference = R272; -ValeurCmp = 10k; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B83FF; -Reference = R273; -ValeurCmp = 100; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B8385; -Reference = R274; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B837F; -Reference = R275; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B8435; -Reference = R280; -ValeurCmp = 2700; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B83BF; -Reference = R281; -ValeurCmp = 500K; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /52895662; -Reference = R282; -ValeurCmp = 10k; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B8421; -Reference = R283; -ValeurCmp = 100; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B83CB; -Reference = R284; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524B83D1; -Reference = R285; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524F7FD5; -Reference = R290; -ValeurCmp = 2700; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524F7F8D; -Reference = R291; -ValeurCmp = 500K; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /528954AB; -Reference = R292; -ValeurCmp = 10k; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524F7FC9; -Reference = R293; -ValeurCmp = 100; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524F7F71; -Reference = R294; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524F7F6B; -Reference = R295; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524F7FF9; -Reference = R300; -ValeurCmp = 2700; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524F7F9F; -Reference = R301; -ValeurCmp = 500K; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /528954A5; -Reference = R302; -ValeurCmp = 10k; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524F7FE7; -Reference = R303; -ValeurCmp = 100; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524F7FAB; -Reference = R304; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /524F7FB1; -Reference = R305; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5295CCEA; -Reference = R310; -ValeurCmp = 2700; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5295CCA2; -Reference = R311; -ValeurCmp = 500K; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5295CD5B; -Reference = R312; -ValeurCmp = 10k; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5295CCDE; -Reference = R313; -ValeurCmp = 100; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5295CC8C; -Reference = R314; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5295CC86; -Reference = R315; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5295CD0E; -Reference = R320; -ValeurCmp = 2700; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5295CCB4; -Reference = R321; -ValeurCmp = 500K; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5295CD55; -Reference = R322; -ValeurCmp = 10k; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5295CCFC; -Reference = R323; -ValeurCmp = 100; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5295CCC0; -Reference = R324; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /5295CCC6; -Reference = R325; -ValeurCmp = 1500; -IdModule = SM0805; -EndCmp - -BeginCmp -TimeStamp = /52895DF7; -Reference = U201; -ValeurCmp = LMV324IDR; -IdModule = so-14; -EndCmp - -BeginCmp -TimeStamp = /52896407; -Reference = U202; -ValeurCmp = LMV324IDR; -IdModule = so-14; -EndCmp - -BeginCmp -TimeStamp = /528965D2; -Reference = U203; -ValeurCmp = LMV324IDR; -IdModule = so-14; -EndCmp - -BeginCmp -TimeStamp = /52987094; -Reference = W211; -ValeurCmp = TEST; -IdModule = SIL-2; -EndCmp - -BeginCmp -TimeStamp = /5298705E; -Reference = W212; -ValeurCmp = TEST; -IdModule = SIL-2; -EndCmp - -EndListe diff --git a/java_tools/pcb_sync/mmc_replace.txt b/java_tools/pcb_sync/mmc_replace.txt deleted file mode 100644 index 8979cb2503..0000000000 --- a/java_tools/pcb_sync/mmc_replace.txt +++ /dev/null @@ -1,41 +0,0 @@ -C5;C101 -C6;C102 -C10;C103 -C13;C104 -C31;C105 -C32;C106 -C33;C107 -C34;C108 - -D1;D101 -D2;D102 - -G1;G101 - -P1;P101 -P2;P102 -P3;P103 -P4;P104 - -R1;R101 -R38;R102 -R39;R103 -R40;R104 -R41;R105 -R42;R106 -R43;R107 -R44;R108 -R45;R109 -R46;R110 -R48;R111 -R49;R112 -R52;R113 -R53;R114 -R62;R115 -R64;R116 -R65;R117 -R66;R118 - - -U20;U101 -U24;U102 \ No newline at end of file diff --git a/java_tools/pcb_sync/pcb_merge_changes.txt b/java_tools/pcb_sync/pcb_merge_changes.txt deleted file mode 100644 index 2ec61df4db..0000000000 --- a/java_tools/pcb_sync/pcb_merge_changes.txt +++ /dev/null @@ -1,55 +0,0 @@ - -optimize ../can_board/can_brd_1.kicad_pcb can_brd_1.kicad_pcb - - -add ../adc_amp_divider.vertical12/adc_amp_divider.kicad_pcb -add ../usb_mmc_spi/mmc_usb_1.kicad_pcb -add ../knock_VR_Art_ELectro/cps_vrs_io_1.kicad_pcb -add can_brd_1.kicad_pcb - - -# DD from the VR board -# knock in -remove P101 -# amp chip -remove U102 -# data out -remove P103 - -remove R115 -remove R116 -remove R117 -remove R118 - - -remove C105 -remove C106 -remove C107 -remove C108 - - -# VR board power LED -remove R101 -remove D102 -remove D101 -remove R105 - - - - -# CAN module connector -remove P471 -# CAN module power LED -remove R471 -remove D471 - -# SD/TTL module 3.3v LED -remove R354 -remove D353 - -# SD/TTL module 5v LED -remove R353 -remove D352 - -# SD/TTL right 10x2 -remove P354 \ No newline at end of file diff --git a/java_tools/pcb_sync/src/main/java/com/rusefi/Main.java b/java_tools/pcb_sync/src/main/java/com/rusefi/Main.java deleted file mode 100644 index 82ab8d30eb..0000000000 --- a/java_tools/pcb_sync/src/main/java/com/rusefi/Main.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.rusefi; - -import com.rusefi.bom.BomBuilder; -import com.rusefi.misc.CmpMergeTool; -import com.rusefi.misc.RemoveUnneededTraces; -import com.rusefi.pcb.PcbMergeTool; -import com.rusefi.pcb.PcbMoveTool; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; - -/** - * (c) Andrey Belomutskiy - * 12/16/13. - */ -public class Main { - private static final Map TOOLS = new TreeMap(String.CASE_INSENSITIVE_ORDER); - - static { - registerTool("pcb_move", PcbMoveTool.class); - registerTool("pcb_merge", PcbMergeTool.class); - - registerTool("copy", PcbCopyTool.class); - - registerTool("cmp_merge", CmpMergeTool.class); - registerTool("rename", RenameComponents.class); - - registerTool("optimize", RemoveUnneededTraces.class); - - registerTool("bom_builder", BomBuilder.class); - } - - private static void registerTool(String name, Class clazz) { - TOOLS.put(name, clazz); - } - - public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { - if (args.length < 1) { - System.out.println("At least tool name parameter expected"); - System.out.println(TOOLS.size() + " tools available:"); - for (String name : TOOLS.keySet()) - System.out.println("\t\t" + name); - return; - } - String name = args[0]; - Class c = TOOLS.get(name); - if (c == null) - throw new NullPointerException("No tool: " + name); - - Method main = c.getMethod("main", String[].class); - - List asList = Arrays.asList(args); - String[] a = asList.subList(1, asList.size()).toArray(new String[args.length - 1]); - - main.invoke(null, new Object[]{a}); - } -} diff --git a/java_tools/pcb_sync/src/main/java/com/rusefi/RenameComponents.java b/java_tools/pcb_sync/src/main/java/com/rusefi/RenameComponents.java deleted file mode 100644 index 06861cd024..0000000000 --- a/java_tools/pcb_sync/src/main/java/com/rusefi/RenameComponents.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.rusefi; - -import java.io.*; -import java.util.HashMap; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class RenameComponents { - private static final Map replaceMap = new HashMap(); - - public static void main(String[] args) throws IOException { - if (args.length != 3) { - System.out.println("Three paramters expected:"); - System.out.println(" replace_replace_file source_folder destination_folder"); - return; - } - String requestFileName = args[0]; - File file = new File(requestFileName); - if (!file.exists() || !file.isFile()) - throw new IllegalArgumentException("No replace_request_file"); - String sourceDir = args[1]; - assertFolder(sourceDir); - String destinationDir = args[2]; - assertFolder(destinationDir); - - readReplaceRequest(file); - for (String fileName : new File(sourceDir).list()) - processFile(sourceDir, destinationDir, fileName); - } - - private static void processFile(String sourceDir, String destinationDir, String fileName) throws IOException { - String newFileName = destinationDir + File.separator + fileName; - BufferedWriter bw = new BufferedWriter(new FileWriter(newFileName)); - - String sourceFile = sourceDir + File.separator + fileName; - BufferedReader br = new BufferedReader(new FileReader(sourceFile)); - - System.out.println("Making " + newFileName + " from " + sourceFile); - - String line; - while ((line = br.readLine()) != null) { - line = processLine(line); - bw.append(line + "\r\n"); - } - - bw.close(); - } - - private static String processLine(String line) { - for (Map.Entry e : replaceMap.entrySet()) { - String from = e.getKey(); - String to = e.getValue(); - - line = Pattern.compile(" " + from + "$").matcher( - line).replaceAll(Matcher.quoteReplacement(" " + to)); - - line = processLine(line, " " + from + ";", " " + to + ";"); - line = processLine(line, " " + from + ")", " " + to + ")"); - line = processLine(line, " " + from + " ", " " + to + " "); - line = processLine(line, " " + from + "-", " " + to + "-"); - line = processLine(line, "\"" + from + "\"", "\"" + to + "\""); - } - return line; - } - - private static String processLine(String line, String s, String s1) { - return line.replace(s, s1); - } - - private static void readReplaceRequest(File file) throws IOException { - String line; - BufferedReader br = new BufferedReader(new FileReader(file)); - int lineNumber = 0; - - while ((line = br.readLine()) != null) { - lineNumber++; - line = line.trim(); - if (line.isEmpty()) - continue; - String[] s = line.split("\\;"); - if (s.length != 2) - throw new IllegalArgumentException("Invalid replace request: " + line); - - String from = s[0]; - String to = s[1]; - - - if (replaceMap.containsKey(from) || replaceMap.containsValue(from)) - throw new IllegalArgumentException("Name already mentioned: " + from + " @" + lineNumber); - - if (replaceMap.containsKey(to) || replaceMap.containsValue(to)) - throw new IllegalArgumentException("Name already mentioned: " + to + " @" + lineNumber); - - replaceMap.put(from, to); - - System.out.println("Replacing [" + from + "] by [" + to + "]"); - } - } - - private static void assertFolder(String dir) { - File d = new File(dir); - if (!d.exists() || !d.isDirectory()) - throw new IllegalArgumentException("No such folder: " + dir); - } -} diff --git a/java_tools/pcb_sync/src/main/java/com/rusefi/bom/BomBuilder.java b/java_tools/pcb_sync/src/main/java/com/rusefi/bom/BomBuilder.java deleted file mode 100644 index 6e03d5dc20..0000000000 --- a/java_tools/pcb_sync/src/main/java/com/rusefi/bom/BomBuilder.java +++ /dev/null @@ -1,230 +0,0 @@ -package com.rusefi.bom; - -import com.rusefi.pcb.ModuleNode; -import com.rusefi.pcb.PcbNode; -import com.rusefi.util.FileUtils; - -import java.io.BufferedWriter; -import java.io.FileWriter; -import java.io.IOException; -import java.util.*; - -/** - * (c) Andrey Belomutskiy - * 2/2/14 - */ -public class BomBuilder { - private static final String DELIMITER = ","; - - private static final CpmFileModel allComponents = new CpmFileModel(); - private static final String IGNORE_TAG = "ignore"; - private static String cmpFileName; - private static String bomDictionaryName; - private static Map bomDictionary; - private static Set ignoreList = new TreeSet(String.CASE_INSENSITIVE_ORDER); - - private static boolean printQtyInFull = true; - private static boolean printPadCount = false; - private static boolean printReference = false; - private static boolean printUserComment = false; - private static PcbNode pcb; - - public static void main(String[] args) throws IOException { - if (args.length < 3) { - System.out.println("bom_builder FILE_NAME.CMP PCB.kicad_pcb COMPONENTS_DICTIONARY.CSV OUTPUT_FILE.CSV"); - return; - } - cmpFileName = args[0]; - String pcbFileName = args[1]; - bomDictionaryName = args[2]; - String outputFileName = args[3]; - - pcb = PcbNode.readFromFile(pcbFileName); - - for (int i = 4; i < args.length; i++) { - String option = args[i].trim(); - if (option.equalsIgnoreCase("printUserComment")) { - printUserComment = true; - } else if (option.equalsIgnoreCase("printreference")) { - printReference = true; - } else if (option.equalsIgnoreCase("printpadcount")) { - printPadCount = true; - } else if (option.equalsIgnoreCase("skipqtyinfull")) { - printQtyInFull = false; - } - } - - - allComponents.readCmpFile(FileUtils.readFileToList(cmpFileName)); - - bomDictionary = readBomDictionary(FileUtils.readFileToList(bomDictionaryName)); - - writeCompactPartList(outputFileName + "_compact.csv", bomDictionary); - writeFullPartList(outputFileName + "_full.csv", bomDictionary); - } - - private static void writeMissingElements(Map bomDictionary, BufferedWriter bw, Map> componentsByKey) throws IOException { - for (Iterator>> i = componentsByKey.entrySet().iterator(); i.hasNext(); ) { - Map.Entry> e = i.next(); - String key = e.getKey(); - - if (ignoreList.contains(key)) - continue; - - BomRecord bomRecord = bomDictionary.get(key); - if (bomRecord == null) { - bw.write("### no BOM record for " + key + ": " + e.getValue() + "\r\n"); - i.remove(); - } - } - bw.write("\r\n\n\n\n"); - } - - private static void writeFullPartList(String outputFileName, Map bomDictionary) throws IOException { - BufferedWriter bw = new BufferedWriter(new FileWriter(outputFileName)); - - Map> componentsByKey = new TreeMap>(allComponents.componentsByKey); - - log("Writing full parts list to " + outputFileName); - writeCommonHeader(bw); - writeMissingElements(bomDictionary, bw, componentsByKey); - - StringBuilder notMounted = new StringBuilder(); - - for (Map.Entry> e : componentsByKey.entrySet()) { - // for instance, SM0805_47pF - String componentName = e.getKey(); - - List list = e.getValue(); - - if (ignoreList.contains(componentName)) - continue; - - BomRecord bomRecord = bomDictionary.get(componentName); - if (bomRecord == null) - throw new NullPointerException(); - - - - - for (BomComponent c : list) { - if (!findModule(c.getReference())) { - bw.write("Not mounted: " + c.getReference() + "\r\n"); - continue; - } - writeLine(bw, bomRecord, 1, c.getReference() + ": ", c.getReference()); - } - } - bw.close(); - } - - private static boolean findModule(String reference) { - for (PcbNode node : pcb.iterate("module")) { - if (node instanceof ModuleNode) { - ModuleNode mn = (ModuleNode) node; - if (mn.getReference().equalsIgnoreCase(reference)) - return true; - } - } - return false; - } - - private static void writeCompactPartList(String outputFileName, Map bomDictionary) throws IOException { - BufferedWriter bw = new BufferedWriter(new FileWriter(outputFileName)); - Map> componentsByKey = new TreeMap>(allComponents.componentsByKey); - - log("Writing compact parts list to " + outputFileName); - writeCommonHeader(bw); - writeMissingElements(bomDictionary, bw, componentsByKey); - - for (Map.Entry> e : componentsByKey.entrySet()) { - // for instance, SM0805_47pF - String componentName = e.getKey(); - - if (ignoreList.contains(componentName)) - continue; - - List list = e.getValue(); - log(list.size() + " items of " + componentName); - - BomRecord bomRecord = bomDictionary.get(componentName); - if (bomRecord == null) - throw new NullPointerException(); - writeLine(bw, bomRecord, list.size(), "", ""); - } - bw.close(); - } - - private static void writeCommonHeader(BufferedWriter bw) throws IOException { - bw.write("### this file was generated by rusEfi bom_builder on " + new Date() + "\r\n"); - bw.write("### " + allComponents.componentsCount + " components in " + allComponents.linesCount + " lines of " + cmpFileName + "\r\n"); - bw.write("### " + allComponents.componentsByKey.size() + " kinds of components in input file\r\n"); - bw.write("### " + bomDictionary.size() + " entries in BOM dictionary " + bomDictionaryName + "\r\n"); - bw.write("### " + ignoreList.size() + " entries in ignore list\r\n"); - } - - private static void writeLine(BufferedWriter bw, BomRecord bomRecord, int quantity, String prefix, String reference) throws IOException { - bw.write(quantity + DELIMITER + - bomRecord.getStorePart() + DELIMITER + - prefix + bomRecord.getCustomerRef() + DELIMITER + - (printReference ? reference + DELIMITER : "") + - (printUserComment ? bomRecord.getUserComment() + DELIMITER : "") + - (printPadCount ? bomRecord.getPadCount() + DELIMITER : "") + - "\r\n" - ); - } - - private static Map readBomDictionary(List strings) { - Map result = new TreeMap(String.CASE_INSENSITIVE_ORDER); - for (String line : strings) { - line = line.trim(); - if (line.isEmpty()) - continue; - - if (line.startsWith("#")) { - log("Skipping comment: " + line); - continue; - } - - String[] tokens = line.split(","); - - if (tokens.length < 2) { - log("Unexpected line: " + line + " Expected at least two tokens but " + tokens.length); - System.exit(-1); - } - - String ref = tokens[0]; - String mfgPart = tokens[1]; - - if (mfgPart.equalsIgnoreCase(IGNORE_TAG)) { - log("Ignoring entry: " + ref); - ignoreList.add(ref); - continue; - } - - if (tokens.length != 6) { - log("Unexpected line: [" + line + "] Expected 6 tokens but " + tokens.length); - System.exit(-1); - } - - String storePart = tokens[2]; - String componentName = tokens[3]; - int padCount = Integer.parseInt(tokens[4]); - String customerRef = tokens[5]; - - result.put(ref, new BomRecord(mfgPart, storePart, customerRef, padCount, componentName)); - - log("BOM key: " + ref); - log("mfgPartNo: " + mfgPart); - log("storePartNo: " + storePart); - } - - log("Got " + result.size() + " entries in BOM dictionary"); - log("Got " + ignoreList.size() + " entries in ignore list"); - return result; - } - - protected static void log(String msg) { - System.out.println(msg); - } -} diff --git a/java_tools/pcb_sync/src/main/java/com/rusefi/bom/BomComponent.java b/java_tools/pcb_sync/src/main/java/com/rusefi/bom/BomComponent.java deleted file mode 100644 index dcad2eddc1..0000000000 --- a/java_tools/pcb_sync/src/main/java/com/rusefi/bom/BomComponent.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.rusefi.bom; - -/** - * (c) Andrey Belomutskiy - * 2/2/14 - */ -public class BomComponent { - private final String reference; - - public BomComponent(String reference) { - this.reference = reference; - } - - public String getReference() { - return reference; - } - - @Override - public String toString() { - return reference; - } -} diff --git a/java_tools/pcb_sync/src/main/java/com/rusefi/bom/BomRecord.java b/java_tools/pcb_sync/src/main/java/com/rusefi/bom/BomRecord.java deleted file mode 100644 index 7080d25d8a..0000000000 --- a/java_tools/pcb_sync/src/main/java/com/rusefi/bom/BomRecord.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.rusefi.bom; - -/** - * (c) Andrey Belomutskiy - * 2/2/14 - */ -public class BomRecord { - private final String mfgPart; - private final String storePart; - private final String customerRef; - private final int padCount; - private final String userComment; - - public BomRecord(String mfgPart, String storePart, String customerRef, int padCount, String userComment) { - this.mfgPart = mfgPart; - this.storePart = storePart; - this.customerRef = customerRef; - this.padCount = padCount; - this.userComment = userComment; - } - - public String getMfgPart() { - return mfgPart; - } - - public String getStorePart() { - return storePart; - } - - public String getCustomerRef() { - return customerRef; - } - - public int getPadCount() { - return padCount; - } - - public String getUserComment() { - return userComment; - } -} diff --git a/java_tools/pcb_sync/src/main/java/com/rusefi/bom/CpmFileModel.java b/java_tools/pcb_sync/src/main/java/com/rusefi/bom/CpmFileModel.java deleted file mode 100644 index 8dfbcb6a14..0000000000 --- a/java_tools/pcb_sync/src/main/java/com/rusefi/bom/CpmFileModel.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.rusefi.bom; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; - -import static com.rusefi.bom.BomBuilder.log; - -/** - * (c) Andrey Belomutskiy - * 2/22/14 - */ -public class CpmFileModel { - - public final Map> componentsByKey = new TreeMap>(String.CASE_INSENSITIVE_ORDER); - - public int linesCount; - public int componentsCount; - - - public void readCmpFile(List list) throws IOException { - linesCount = list.size(); - componentsCount = 0; - - for (int lineIndex = 0; lineIndex < list.size(); lineIndex++) { - String line = list.get(lineIndex); - if ("BeginCmp".equals(line)) { - componentsCount++; - - lineIndex += 2; // skipping 'TimeStamp' line - - String a = list.get(lineIndex); - String reference = parseReferenceLine(a); - log(lineIndex + ": reference: " + reference); - lineIndex++; - - String valueLine = list.get(lineIndex); - String value = parseValueLine(valueLine); - log(lineIndex + ": value: " + value); - lineIndex++; - - String packageLine = list.get(lineIndex); - - String packageName = packageLine.split("=")[1].trim(); - packageName = cutLastSymbol(packageName); - log(lineIndex + ": package: " + packageName); - lineIndex++; - - String package_value = packageName + "_" + value; - List l = componentsByKey.get(package_value); - if (l == null) { - l = new ArrayList(); - componentsByKey.put(package_value, l); - } - l.add(new BomComponent(reference)); - } - } - } - - private static String parseValueLine(String s) { - String value = s.split("=")[1].trim(); - return cutLastSymbol(value); - } - - private static String parseReferenceLine(String line) { - String reference = line.split("=")[1].trim(); - return cutLastSymbol(reference); - } - - private static String cutLastSymbol(String reference) { - return reference.substring(0, reference.length() - 1); - } -} diff --git a/java_tools/pcb_sync/src/main/java/com/rusefi/misc/CmpMergeTool.java b/java_tools/pcb_sync/src/main/java/com/rusefi/misc/CmpMergeTool.java deleted file mode 100644 index 1c6796dd8f..0000000000 --- a/java_tools/pcb_sync/src/main/java/com/rusefi/misc/CmpMergeTool.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.rusefi.misc; - -import com.rusefi.util.FileUtils; - -import java.io.*; -import java.util.List; - -/** - * 12/8/13 - * (c) Andrey Belomutskiy - */ -public class CmpMergeTool { - private CmpMergeTool() { - } - - public static void main(String[] args) throws IOException { - if (args.length < 2) { - System.out.println("This tool merges .cmp KiCad component mappting files"); - System.out.println("usage:"); - System.out.println("NetListMerge DEST_FILE SOURCE_1 SOURCE_2 [SOURCE_x]*"); - return; - } - - String destinationFile = args[0]; - - System.out.println("Writing result into " + destinationFile); - BufferedWriter bw = new BufferedWriter(new FileWriter(destinationFile)); - - bw.write("Cmp-Mod V01 Created by CvPcb (2013-07-07 BZR 4022)-stable date = 01/12/2013 21:54:01\r\n"); - - for (int i = 1; i < args.length; i++) { - String sourceFile = args[i]; - - List list = FileUtils.readFileToList(sourceFile); - - for (String line : list.subList(1, list.size() - 2)) - bw.write(line + "\r\n"); - } - - bw.write("\r\nEndListe\r\n"); - bw.close(); - } -} diff --git a/java_tools/ts_screenshots/.gitignore b/java_tools/ts_screenshots/.gitignore deleted file mode 100644 index 3ddb801bcf..0000000000 --- a/java_tools/ts_screenshots/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -inc -config -TunerStudio.properties -lib -images -output.xml -rusEFI-project*.md \ No newline at end of file diff --git a/java_tools/ts_screenshots/build.xml b/java_tools/ts_screenshots/build.xml deleted file mode 100644 index 8b9b307d7a..0000000000 --- a/java_tools/ts_screenshots/build.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java_tools/ts_screenshots/readme.md b/java_tools/ts_screenshots/readme.md deleted file mode 100644 index 7447b0327b..0000000000 --- a/java_tools/ts_screenshots/readme.md +++ /dev/null @@ -1,16 +0,0 @@ - -step 0: - -In TunerStudio, set "Options->Preferences->Load Last Project on startup". Exit TunerStudio. - - -step 1: - -``ant`` - -Expected output: ScreenShots.jar - - -step 2: - -Copy ScreenShots.jar inside \ No newline at end of file diff --git a/java_tools/ts_screenshots/screen/src/ScreenCaptureLauncher.java b/java_tools/ts_screenshots/screen/src/ScreenCaptureLauncher.java deleted file mode 100644 index 39f13c0e74..0000000000 --- a/java_tools/ts_screenshots/screen/src/ScreenCaptureLauncher.java +++ /dev/null @@ -1,23 +0,0 @@ -import com.rusefi.ScreenGenerator; - -public class ScreenCaptureLauncher { - public static void main(String[] args) throws Exception { - startTunerStudio(args); - ScreenGenerator.main(args); - } - - private static void startTunerStudio(String[] args) { - Thread t = new Thread(() -> { - try { - TunerStudio.main(args); - } catch (Exception e) { - e.printStackTrace(); - throw new IllegalStateException(e); - } - }); - - t.setDaemon(false); - t.start(); - } - -} diff --git a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/Callback.java b/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/Callback.java deleted file mode 100644 index d6b78f9fba..0000000000 --- a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/Callback.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.rusefi; - -import java.awt.*; - -interface Callback { - void onComponent(Component parent, Component component); -} diff --git a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/MdGenerator.java b/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/MdGenerator.java deleted file mode 100644 index 168222e403..0000000000 --- a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/MdGenerator.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.rusefi; - -import com.rusefi.xml.*; - -import java.io.FileWriter; -import java.io.IOException; -import java.util.Date; - -/** - * Unused and replaced by http://rusefi.online? - * REMOVE ONE DAY PRETTY SOON - */ -public class MdGenerator { - public static final String PREFIX = "rusEFI-project"; - static String FOLDER; - - private static final String EOL = "\r\n"; - - public static void main(String[] args) throws Exception { - //FOLDER = "images/"; - FOLDER = "overview/TS_generated/"; - - ContentModel contentModel = XmlUtil.readModel(ContentModel.class, ScreenGenerator.FILE_NAME); - - generateTopLevel(contentModel); - - for (TopLevelMenuModel topLevelMenuModel : contentModel.getTopLevelMenus()) { - String pageName = getPageName(topLevelMenuModel); - FileWriter md = new FileWriter(pageName + ".md"); - - md.append("# [rusEFI project](rusEFI-project)"+ EOL); - - md.append("## " + topLevelMenuModel.getTitle() + EOL); - - for (DialogModel dialogModel : topLevelMenuModel.getDialogs()) { - md.append("[" + dialogModel.getDialogTitle() + "](" + "#" + safeUrl(dialogModel.getDialogTitle()).toLowerCase() + ")" + EOL + EOL); - } - - - for (DialogModel dialogModel : topLevelMenuModel.getDialogs()) { - appendDialog(md, dialogModel); - } - - md.write(EOL); - md.write("generated by " + MdGenerator.class + " on " + new Date()); - md.write(EOL); - md.close(); - } - } - - private static String getPageName(TopLevelMenuModel topLevelMenuModel) { - return PREFIX + "-" + safeUrl(topLevelMenuModel.getTitle()); - } - - private static String safeUrl(String title) { - return title.replace(" ", "-"); - } - - private static void generateTopLevel(ContentModel contentModel) throws IOException { - FileWriter md = new FileWriter(PREFIX + ".md"); - - for (TopLevelMenuModel topLevelMenuModel : contentModel.getTopLevelMenus()) { - String url = getPageName(topLevelMenuModel); - md.append("# [" + topLevelMenuModel.getTitle() + "](" + url + ")" + EOL + EOL); - - md.append("" + getImageTag(topLevelMenuModel.getImageName()) + ""); - - for (DialogModel dialogModel : topLevelMenuModel.getDialogs()) { - md.append("[" + dialogModel.getDialogTitle() + "](" + url + "#" + safeUrl(dialogModel.getDialogTitle()).toLowerCase() + ")" + EOL + EOL); - } - - md.append(EOL); - } - md.write(EOL); - md.write("generated by " + MdGenerator.class + " on " + new Date()); - md.write(EOL); - md.close(); - } - - private static void appendDialog(FileWriter md, DialogModel dialogModel) throws IOException { - md.append("### " + dialogModel.getDialogTitle() + EOL); - - md.append(getImageTag(dialogModel.getImageName()) + EOL); - - for (FieldModel fieldModel : dialogModel.fields) { - String tooltip = fieldModel.getTooltip(); - - if (tooltip.length() > 0) { - tooltip = tooltip.replace("\\n", EOL); - - md.append(fieldModel.getUiName() + ": " + tooltip + EOL + EOL); - } - } - } - - private static String getImageTag(String imageName) { - String IMG_SUFFIX = ")" + EOL; - String IMG_PREFIX = "![x]("; - - return IMG_PREFIX + FOLDER + imageName + IMG_SUFFIX; - } -} diff --git a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/ScreenGenerator.java b/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/ScreenGenerator.java deleted file mode 100644 index 2ecabc518b..0000000000 --- a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/ScreenGenerator.java +++ /dev/null @@ -1,271 +0,0 @@ -package com.rusefi; - -import com.opensr5.ini.IniFileModel; -import com.rusefi.xml.*; - -import javax.imageio.ImageIO; -import javax.swing.*; -import java.awt.*; -import java.awt.image.BufferedImage; -import java.awt.image.RasterFormatException; -import java.io.*; -import java.lang.reflect.InvocationTargetException; -import java.util.*; -import java.util.List; -import java.util.concurrent.atomic.AtomicReference; - -public class ScreenGenerator { - public static final String FILE_NAME = "output.xml"; - private static final String PNG = "png"; - private static ArrayList topLevelButtons = new ArrayList<>(); - - private static final int MENU_CLICK_DELAY = 50; - private static final int TOP_MENU_CLICK_DELAY = 200; - private static final int WAITING_FOR_FRAME_PERIOD = 1000; - - - private static final String DESTINATION = "images" + File.separator; - - static ContentModel contentModel = new ContentModel(); - static IniFileModel iniFileModel = new IniFileModel(); - - static Map byCleanUiName = new TreeMap<>(); - - public static void main(String[] args) throws Exception { - if (args.length != 1) { - System.out.println("One parameter expected: path to directory containing rusefi.ini file"); - System.exit(-1); - } - - iniFileModel.readIniFile("."); - - for (Map.Entry a : iniFileModel.getAllFields().entrySet()) { - String cleanUiName = cleanName(a.getValue().getUiName()); - byCleanUiName.put(cleanUiName, a.getValue()); - } - - if (byCleanUiName.isEmpty()) - throw new IllegalStateException("Something not right with input file. April 29 version is needed"); - - - System.out.println("mkdirs " + DESTINATION); - new File(DESTINATION).mkdirs(); - - System.out.println("Launching TunerStudioIntegration"); - Frame mainFrame = TunerStudioIntegration.findMainFrame(); - - waitForMainFrame(mainFrame); - - System.out.println("Done discovering buttons, " + topLevelButtons.size()); - - Thread.sleep(2 * WAITING_FOR_FRAME_PERIOD); // we have this sleep to avoid an artifact on first screenshot - - handleTopLevelButtons(mainFrame, topLevelButtons); - - XmlUtil.writeXml(contentModel, ContentModel.class, FILE_NAME); - } - - private static void waitForMainFrame(Frame mainFrame) throws InterruptedException { - while (topLevelButtons.isEmpty()) { - UiUtils.visitComponents(mainFrame, "", (parent, component) -> { - if (component instanceof AbstractButton) { - AbstractButton ab = (AbstractButton) component; - System.out.println("topLevelButton " + ab.getText()); - - if (TunerStudioIntegration.isTopLevelMenuButton(component)) { - topLevelButtons.add(ab); - } - } - }); - Thread.sleep(WAITING_FOR_FRAME_PERIOD); - } - } - - private static void handleTopLevelButtons(Frame frame, ArrayList topLevelButtons) throws Exception { - for (AbstractButton topLevel : topLevelButtons) { - handleTopLevelButton(frame, topLevel); - } - } - - private static void handleTopLevelButton(Frame frame, AbstractButton topLevel) throws Exception { - SwingUtilities.invokeAndWait(topLevel::doClick); - Thread.sleep(TOP_MENU_CLICK_DELAY); - - - String imageName = "top_level_" + cleanName(topLevel.getText()) + "." + PNG; - - TopLevelMenuModel topLevelMenuModel = new TopLevelMenuModel(topLevel.getText(), imageName); - ScreenGenerator.contentModel.getTopLevelMenus().add(topLevelMenuModel); - - ImageIO.write( - UiUtils.getScreenShot(frame), - PNG, - new File(DESTINATION + imageName)); - - List menuItems = TunerStudioIntegration.findMenuItems(frame); - - for (JMenuItem menuItem : menuItems) { - handleMenuItem(menuItem, topLevelMenuModel); - } - } - - private static void handleMenuItem(JMenuItem menuItem, TopLevelMenuModel topLevelMenuModel) throws InterruptedException, InvocationTargetException { - SwingUtilities.invokeAndWait(menuItem::doClick); - - Thread.sleep(MENU_CLICK_DELAY); - - AtomicReference ref = new AtomicReference<>(); - SwingUtilities.invokeAndWait(() -> ref.set(TunerStudioIntegration.findDynamicDialog())); - // let's give it time to appear on the screen - Thread.sleep(MENU_CLICK_DELAY); - JDialog dialog = ref.get(); - if (dialog == null) { - System.out.println("Not found for " + menuItem); - return; - } - - String dialogTitle = dialog.getTitle(); - - String imageName = "dialog_" + cleanName(dialogTitle) + "." + PNG; - DialogModel dialogModel = new DialogModel(dialogTitle, imageName); - topLevelMenuModel.getDialogs().add(dialogModel); - - SwingUtilities.invokeAndWait(() -> { - try { - findSlices(dialog, dialogModel); - - if (dialog == null) { - // this happens for example for disabled menu items - return; - } - -// Robot robot = new Robot(); -// Rectangle captureRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); -// BufferedImage screenFullImage = robot.createScreenCapture(captureRect); -// ImageIO.write(screenFullImage, PNG, new File(DESTINATION + "full_" + d.getTitle() + ".png")); - - BufferedImage dialogScreenShot = UiUtils.getScreenShot(dialog); - ImageIO.write( - dialogScreenShot, - PNG, - new File(DESTINATION + imageName)); - dialog.setVisible(false); - dialog.dispose(); - } catch (Exception e) { - throw new IllegalStateException(e); - } - }); - } - - private static void saveSlices(String dialogTitle, Map yCoordinates, BufferedImage dialogScreenShot, DialogModel dialogModel) { - System.out.println("Label Y coordinates: " + yCoordinates); - yCoordinates.put(0, "top"); - yCoordinates.put(dialogScreenShot.getHeight(), "bottom"); - - List sorted = new ArrayList<>(yCoordinates.keySet()); - - for (int i = 0; i < sorted.size() - 1; i++) { - int fromY = sorted.get(i); - int toY = sorted.get(i + 1); - - String sectionNameWithSpecialCharacters = yCoordinates.get(sorted.get(i)); - String sectionName = cleanName(sectionNameWithSpecialCharacters); - - BufferedImage slice; - try { - slice = dialogScreenShot.getSubimage(0, fromY, dialogScreenShot.getWidth(), toY - fromY); - } catch (RasterFormatException e) { - System.out.println("Dialog does not fit screen? " + sectionNameWithSpecialCharacters); - continue; - } - - if (slice == null) { - System.out.println("Weird"); - continue; - } - String fileName = cleanName(dialogTitle) + "_slice_" + fromY + "_" + sectionName + "." + PNG; - - com.opensr5.ini.DialogModel.Field f = byCleanUiName.get(sectionName); - if (f == null) - continue; - - String fieldName = f.getKey(); - String tooltip = iniFileModel.tooltips.get(fieldName); - - dialogModel.fields.add(new FieldModel(sectionNameWithSpecialCharacters, fieldName, fileName, tooltip)); - - File output = new File(DESTINATION + fileName); - if (output == null) { - System.out.println(sectionName + " in " + fileName + " was not a success"); - continue; - } - try { - ImageIO.write(slice, PNG, output); - } catch (Exception e) { - System.out.println(sectionName + " in " + fileName + " was not a success?"); - continue; - } - } - } - - private static void findSlices(JDialog dialog, DialogModel dialogModel) { - UiUtils.visitComponents(dialog, "Dynamic dialog", new Callback() { - @Override - public void onComponent(Component parent, Component component) { - if (component instanceof JPanel) { - JPanel panel = (JPanel) component; - handleBox(dialog.getTitle(), panel, dialogModel); - } - } - }); - } - - private static void handleBox(String dialogTitle, JPanel panel, DialogModel dialogModel) { - if (panel.getLayout() instanceof BoxLayout) { - BoxLayout layout = (BoxLayout) panel.getLayout(); - if (layout.getAxis() == BoxLayout.X_AXIS) - return; - - BufferedImage panelImage = UiUtils.getScreenShot(panel); - - Map yCoordinates = new TreeMap<>(); - int relativeY = panel.getLocationOnScreen().y; - - UiUtils.visitComponents(panel, "Looking inside the box", new Callback() { - @Override - public void onComponent(Component parent, Component component) { - if (component instanceof JLabel) { - JLabel label = (JLabel) component; - if (!label.isVisible() || label.getSize().width == 0) - return; - String labelText = label.getText(); - if (labelText.length() > 0) { - System.out.println("Looking at " + label); - try { - yCoordinates.put(label.getLocationOnScreen().y - relativeY, labelText); - } catch (IllegalComponentStateException e) { - System.out.printf("Did not go well for " + label); - } - } - } - } - }); - - saveSlices(dialogTitle, yCoordinates, panelImage, dialogModel); - } - } - - private static String cleanName(String title) { - title = title.replace(' ', '_'); - title = title.replace(")", ""); - title = title.replace("%", ""); - title = title.replace(">", ""); - title = title.replace("<", ""); - title = title.replace("?", ""); - title = title.replace("(", ""); - title = title.replace('/', '_'); - title = title.replace('\\', '_'); - title = title.replace(" ", " "); - return title; - } -} diff --git a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/TunerStudioIntegration.java b/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/TunerStudioIntegration.java deleted file mode 100644 index 28b6cd6e36..0000000000 --- a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/TunerStudioIntegration.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.rusefi; - -import javax.swing.*; -import java.awt.*; -import java.util.ArrayList; -import java.util.List; - -public class TunerStudioIntegration { - /** - * these magic class names are specific to TS build - * At the moment we use 3.1.02 names - * http://www.tunerstudio.com/downloads2/TunerStudioMS_Setup_v3.1.02.exe - */ - private static final String VERSION = "3.1.02"; - private static final String TS_DIALOG = "com.efiAnalytics.ui.dg"; - private static final String TS_POPUP_MAIN_MENU = "aH.gc"; - private static final String TUNER_STUDIO = "TunerStudio"; - - static Frame findMainFrame() throws InterruptedException { - while (true) { - Frame[] all = JFrame.getFrames(); - - for (Frame frame : all) { - String frameTitle = frame.getTitle(); - System.out.println("I see " + frameTitle); - if (frameTitle.contains(TUNER_STUDIO)) { - if (!frameTitle.contains(VERSION)) { - System.out.println("Title does not look right " + frameTitle + " not " + VERSION); - System.exit(-1); - } - return frame; - } - } - Thread.sleep(1000); - } - } - - static boolean isTopLevelMenuButton(Component component) { - return component instanceof bi.b; - } - - static java.util.List findMenuItems(Frame frame) { - List menuItems = new ArrayList<>(); - UiUtils.visitComponents(frame, "Just clicked ", (parent, component) -> { - if (component instanceof JMenuItem && component.getClass().getName().endsWith(TS_POPUP_MAIN_MENU)) { - JMenuItem menuItem = (JMenuItem) component; - System.out.println("Menu item " + menuItem.getText()); - menuItems.add(menuItem); - } - }); - return menuItems; - } - - static JDialog findDynamicDialog() { - for (Window d : Dialog.getWindows()) { - if (d.getClass().getName().equals(TS_DIALOG) && d.isVisible()) { - return (JDialog) d; - } - } - return null; - } -} diff --git a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/UiUtils.java b/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/UiUtils.java deleted file mode 100644 index 84a2e38abe..0000000000 --- a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/UiUtils.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.rusefi; - -import javax.swing.*; -import java.awt.*; -import java.awt.image.BufferedImage; - -public class UiUtils { - public static void visitComponents(Component cmp, String prefix, Callback callback) { - visitComponents(cmp, null, prefix, callback); - } - - public static void visitComponents(Component component, Component parent, String prefix, Callback callback) { - if (component == null) - throw new NullPointerException("component"); - if (component instanceof AbstractButton) { - AbstractButton ab = (AbstractButton) component; - System.out.println("[button " + ab.getText() + "]"); - } else if (component instanceof JLabel) { - JLabel ab = (JLabel) component; - System.out.println("[label " + ab.getText() + "]"); - } else if (component instanceof JComboBox) { - JComboBox ab = (JComboBox) component; - System.out.println("[combo " + ab.getSelectedItem() + "]"); - } else if (component instanceof JPanel) { - JPanel p = (JPanel) component; - System.out.println("[panel " + p.getLayout() + "] children=" + p.getComponents().length); - System.out.println("[panel " + p.getLayout() + "] " + p.getLocation() + " size = " + p.getSize()); - } - - System.out.println(prefix + " I see " + component.getClass()); - callback.onComponent(parent, component); - Container container = (Container) component; - if (container == null) { - // Not a container, return - return; - } - // Go visit and add all children - for (Component subComponent : container.getComponents()) { - if (subComponent == null) - continue; - visitComponents(subComponent, component, prefix + " " + subComponent.getClass().getSimpleName(), callback); - } - } - - public static BufferedImage getScreenShot(Component component) { - BufferedImage image = new BufferedImage( - component.getWidth(), - component.getHeight(), - BufferedImage.TYPE_INT_RGB - ); - // call the Component's paint method, using - // the Graphics object of the image. - component.paint(image.getGraphics()); // alternately use .printAll(..) - return image; - } -} diff --git a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/xml/ContentModel.java b/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/xml/ContentModel.java deleted file mode 100644 index b5da19e66c..0000000000 --- a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/xml/ContentModel.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.rusefi.xml; - -import com.rusefi.ScreenGenerator; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -@XmlRootElement -public class ContentModel { - private List menus = new ArrayList<>(); - - @XmlElementWrapper - @XmlElement(name = "keyword") - public List getTopLevelMenus() { - return menus; - } - - @XmlAttribute - public String getVersion() { - return "Generated by " + ScreenGenerator.class + " on " + new Date(); - } - - @Override - public String toString() { - return "ContentModel{" + - "menus=" + menus + - '}'; - } -} diff --git a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/xml/DialogModel.java b/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/xml/DialogModel.java deleted file mode 100644 index e0f5e8abc3..0000000000 --- a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/xml/DialogModel.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.rusefi.xml; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import java.util.ArrayList; -import java.util.List; - -public class DialogModel { - private String dialogTitle; - private String imageName; - @XmlElementWrapper - @XmlElement(name = "field") - public List fields = new ArrayList<>(); - - public DialogModel() { - } - - public DialogModel(String dialogTitle, String imageName) { - this.dialogTitle = dialogTitle; - this.imageName = imageName; - } - - @XmlAttribute - public String getImageName() { - return imageName; - } - - public void setImageName(String imageName) { - this.imageName = imageName; - } - - @XmlAttribute - public String getDialogTitle() { - return dialogTitle; - } - - public void setDialogTitle(String dialogTitle) { - this.dialogTitle = dialogTitle; - } - - @Override - public String toString() { - return "DialogModel{" + - "dialogTitle='" + dialogTitle + '\'' + - ", imageName='" + imageName + '\'' + - ", fields=" + fields + - '}'; - } -} diff --git a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/xml/FieldModel.java b/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/xml/FieldModel.java deleted file mode 100644 index 66d2d3cd3f..0000000000 --- a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/xml/FieldModel.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.rusefi.xml; - -import javax.xml.bind.annotation.XmlAttribute; - -public class FieldModel { - - private String uiName; - private String fieldName; - private String imageName; - private String tooltip; - - public FieldModel() { - } - - public FieldModel(String uiName, String fieldName, String fileName, String tooltip) { - this.uiName = uiName; - this.fieldName = fieldName; - this.imageName = fileName; - this.tooltip = tooltip == null ? "" : tooltip; - } - - @XmlAttribute - public String getUiName() { - return uiName; - } - - public void setUiName(String uiName) { - this.uiName = uiName; - } - - @XmlAttribute - public String getFieldName() { - return fieldName; - } - - public void setFieldName(String fieldName) { - this.fieldName = fieldName; - } - - @XmlAttribute - public String getImageName() { - return imageName; - } - - public void setImageName(String imageName) { - this.imageName = imageName; - } - - @XmlAttribute - public String getTooltip() { - return tooltip; - } - - public void setTooltip(String tooltip) { - this.tooltip = tooltip; - } - - @Override - public String toString() { - return "FieldModel{" + - "uiName='" + uiName + '\'' + - ", fieldName='" + fieldName + '\'' + - ", imageName='" + imageName + '\'' + - ", tooltip='" + tooltip + '\'' + - '}'; - } -} diff --git a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/xml/TopLevelMenuModel.java b/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/xml/TopLevelMenuModel.java deleted file mode 100644 index 13fc95a221..0000000000 --- a/java_tools/ts_screenshots/screen/src/main/java/com/rusefi/xml/TopLevelMenuModel.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.rusefi.xml; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import java.util.ArrayList; -import java.util.List; - -public class TopLevelMenuModel { - private String title; - private String imageName; - - @XmlElementWrapper - @XmlElement(name = "dialog") - private List dialogs = new ArrayList<>(); - - public TopLevelMenuModel() { - } - - public TopLevelMenuModel(String title, String imageName) { - this.title = title; - this.imageName = imageName; - } - - @XmlAttribute - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - @XmlAttribute - public String getImageName() { - return imageName; - } - - public void setImageName(String imageName) { - this.imageName = imageName; - } - - public List getDialogs() { - return dialogs; - } - - @Override - public String toString() { - return "TopLevelMenuModel{" + - "title='" + title + '\'' + - ", imageName='" + imageName + '\'' + - ", dialogs=" + dialogs + - '}'; - } -}