Added tool to setup ship weights (structural based)
This commit is contained in:
parent
f46c60679a
commit
cb418f02b1
|
@ -33,6 +33,9 @@ SET(ShipIcons_SRCS
|
|||
Icons/ReparametrizeIco.xpm
|
||||
Icons/Ship.xcf
|
||||
Icons/Ship.xpm
|
||||
Icons/Weight.png
|
||||
Icons/Weight.xcf
|
||||
Icons/Weight.xpm
|
||||
Icons/Tank.png
|
||||
Icons/Tank.xcf
|
||||
Icons/Tank.xpm
|
||||
|
@ -96,6 +99,13 @@ SET(ShipUtils_SRCS
|
|||
)
|
||||
SOURCE_GROUP("shiputils" FILES ${ShipUtils_SRCS})
|
||||
|
||||
SET(ShipWeights_SRCS
|
||||
tankWeights/__init__.py
|
||||
tankWeights/TaskPanel.py
|
||||
tankWeights/TaskPanel.ui
|
||||
)
|
||||
SOURCE_GROUP("shipweights" FILES ${ShipWeights_SRCS})
|
||||
|
||||
SET(ShipCreateTank_SRCS
|
||||
tankCreateTank/__init__.py
|
||||
tankCreateTank/TaskPanel.py
|
||||
|
@ -103,7 +113,7 @@ SET(ShipCreateTank_SRCS
|
|||
)
|
||||
SOURCE_GROUP("shipcreatetank" FILES ${ShipCreateTank_SRCS})
|
||||
|
||||
SET(all_files ${ShipMain_SRCS} ${ShipIcons_SRCS} ${ShipExamples_SRCS} ${ShipLoadExample_SRCS} ${ShipCreateShip_SRCS} ${ShipOutlineDraw_SRCS} ${ShipAreasCurve_SRCS} ${ShipHydrostatics_SRCS} ${ShipUtils_SRCS} ${ShipCreateTank_SRCS})
|
||||
SET(all_files ${ShipMain_SRCS} ${ShipIcons_SRCS} ${ShipExamples_SRCS} ${ShipLoadExample_SRCS} ${ShipCreateShip_SRCS} ${ShipOutlineDraw_SRCS} ${ShipAreasCurve_SRCS} ${ShipHydrostatics_SRCS} ${ShipUtils_SRCS} ${ShipWeights_SRCS} ${ShipCreateTank_SRCS})
|
||||
|
||||
ADD_CUSTOM_TARGET(Ship ALL
|
||||
SOURCES ${all_files}
|
||||
|
@ -159,6 +169,12 @@ INSTALL(
|
|||
DESTINATION
|
||||
Mod/Ship/shipUtils
|
||||
)
|
||||
INSTALL(
|
||||
FILES
|
||||
${ShipWeights_SRCS}
|
||||
DESTINATION
|
||||
Mod/Ship/tankWeights
|
||||
)
|
||||
INSTALL(
|
||||
FILES
|
||||
${ShipCreateTank_SRCS}
|
||||
|
|
BIN
src/Mod/Ship/Icons/Weight.png
Normal file
BIN
src/Mod/Ship/Icons/Weight.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.2 KiB |
BIN
src/Mod/Ship/Icons/Weight.xcf
Normal file
BIN
src/Mod/Ship/Icons/Weight.xcf
Normal file
Binary file not shown.
721
src/Mod/Ship/Icons/Weight.xpm
Normal file
721
src/Mod/Ship/Icons/Weight.xpm
Normal file
|
@ -0,0 +1,721 @@
|
|||
/* XPM */
|
||||
static char * Weight_xpm[] = {
|
||||
"128 128 590 2",
|
||||
" c None",
|
||||
". c #5F5F5F",
|
||||
"+ c #606060",
|
||||
"@ c #60605F",
|
||||
"# c #5F6060",
|
||||
"$ c #616160",
|
||||
"% c #606161",
|
||||
"& c #616161",
|
||||
"* c #626262",
|
||||
"= c #626261",
|
||||
"- c #616162",
|
||||
"; c #616261",
|
||||
"> c #767576",
|
||||
", c #90908F",
|
||||
"' c #A1A2A2",
|
||||
") c #ACACAC",
|
||||
"! c #A1A1A1",
|
||||
"~ c #8F8E8F",
|
||||
"{ c #777776",
|
||||
"] c #636363",
|
||||
"^ c #636364",
|
||||
"/ c #636263",
|
||||
"( c #636362",
|
||||
"_ c #767676",
|
||||
": c #9D9D9D",
|
||||
"< c #B0B0B1",
|
||||
"[ c #B1B1B0",
|
||||
"} c #B0B0B0",
|
||||
"| c #AFAFAF",
|
||||
"1 c #9C9C9C",
|
||||
"2 c #767777",
|
||||
"3 c #656565",
|
||||
"4 c #646463",
|
||||
"5 c #868787",
|
||||
"6 c #AFAFB0",
|
||||
"7 c #AEAEAE",
|
||||
"8 c #ADAEAE",
|
||||
"9 c #ADADAE",
|
||||
"0 c #868687",
|
||||
"a c #666667",
|
||||
"b c #676766",
|
||||
"c c #656665",
|
||||
"d c #7B7B7C",
|
||||
"e c #AFAEAE",
|
||||
"f c #ACADAC",
|
||||
"g c #ACACAB",
|
||||
"h c #7C7C7C",
|
||||
"i c #686867",
|
||||
"j c #686868",
|
||||
"k c #666767",
|
||||
"l c #A0A0A0",
|
||||
"m c #ADADAD",
|
||||
"n c #ADADAC",
|
||||
"o c #ABAAAA",
|
||||
"p c #ABABAA",
|
||||
"q c #9E9E9E",
|
||||
"r c #6A6969",
|
||||
"s c #696969",
|
||||
"t c #676768",
|
||||
"u c #676868",
|
||||
"v c #7F7F7F",
|
||||
"w c #ABABAC",
|
||||
"x c #A9A9A9",
|
||||
"y c #A8A8A9",
|
||||
"z c #80807F",
|
||||
"A c #6B6B6B",
|
||||
"B c #6B6C6B",
|
||||
"C c #696A69",
|
||||
"D c #939394",
|
||||
"E c #AAAAAA",
|
||||
"F c #A7A8A8",
|
||||
"G c #A8A7A8",
|
||||
"H c #929292",
|
||||
"I c #6D6C6D",
|
||||
"J c #6D6D6D",
|
||||
"K c #6A6A6A",
|
||||
"L c #A6A6A6",
|
||||
"M c #9D9E9E",
|
||||
"N c #6D6E6E",
|
||||
"O c #6E6E6D",
|
||||
"P c #6C6C6C",
|
||||
"Q c #A0A09F",
|
||||
"R c #A8A7A7",
|
||||
"S c #A4A4A5",
|
||||
"T c #706F6F",
|
||||
"U c #706F70",
|
||||
"V c #6D6E6D",
|
||||
"W c #A6A5A6",
|
||||
"X c #A3A3A3",
|
||||
"Y c #919191",
|
||||
"Z c #717070",
|
||||
"` c #707171",
|
||||
" . c #6F6F6F",
|
||||
".. c #6F6F6E",
|
||||
"+. c #818281",
|
||||
"@. c #A4A4A4",
|
||||
"#. c #A2A2A2",
|
||||
"$. c #A2A2A1",
|
||||
"%. c #727272",
|
||||
"&. c #707071",
|
||||
"*. c #717071",
|
||||
"=. c #9A9A9A",
|
||||
"-. c #A2A2A3",
|
||||
";. c #A0A1A0",
|
||||
">. c #989897",
|
||||
",. c #737473",
|
||||
"'. c #737474",
|
||||
"). c #727172",
|
||||
"!. c #808080",
|
||||
"~. c #9F9F9F",
|
||||
"{. c #9E9F9F",
|
||||
"]. c #808181",
|
||||
"^. c #747574",
|
||||
"/. c #757575",
|
||||
"(. c #737373",
|
||||
"_. c #737374",
|
||||
":. c #888888",
|
||||
"<. c #A09FA0",
|
||||
"[. c #9F9FA0",
|
||||
"}. c #A09F9F",
|
||||
"|. c #878888",
|
||||
"1. c #767675",
|
||||
"2. c #949494",
|
||||
"3. c #9D9D9E",
|
||||
"4. c #9D9C9C",
|
||||
"5. c #9C9C9D",
|
||||
"6. c #787778",
|
||||
"7. c #777778",
|
||||
"8. c #777777",
|
||||
"9. c #8C8C8C",
|
||||
"0. c #999A99",
|
||||
"a. c #818181",
|
||||
"b. c #797878",
|
||||
"c. c #797879",
|
||||
"d. c #605F60",
|
||||
"e. c #605F5F",
|
||||
"f. c #606160",
|
||||
"g. c #616061",
|
||||
"h. c #626162",
|
||||
"i. c #616262",
|
||||
"j. c #636262",
|
||||
"k. c #626363",
|
||||
"l. c #636463",
|
||||
"m. c #646464",
|
||||
"n. c #646564",
|
||||
"o. c #646465",
|
||||
"p. c #656564",
|
||||
"q. c #656666",
|
||||
"r. c #666666",
|
||||
"s. c #666565",
|
||||
"t. c #676666",
|
||||
"u. c #676767",
|
||||
"v. c #686768",
|
||||
"w. c #686767",
|
||||
"x. c #696869",
|
||||
"y. c #5F5F60",
|
||||
"z. c #616060",
|
||||
"A. c #626161",
|
||||
"B. c #626263",
|
||||
"C. c #636464",
|
||||
"D. c #656464",
|
||||
"E. c #656566",
|
||||
"F. c #696868",
|
||||
"G. c #6A6A69",
|
||||
"H. c #69696A",
|
||||
"I. c #B3B3B3",
|
||||
"J. c #B3B2B2",
|
||||
"K. c #B2B2B2",
|
||||
"L. c #B2B2B1",
|
||||
"M. c #B2B1B1",
|
||||
"N. c #B1B1B1",
|
||||
"O. c #B0B1B1",
|
||||
"P. c #AFB0AF",
|
||||
"Q. c #AEAFAF",
|
||||
"R. c #ACADAD",
|
||||
"S. c #ABABAB",
|
||||
"T. c #AAABAA",
|
||||
"U. c #AAA9AA",
|
||||
"V. c #6B6B6A",
|
||||
"W. c #6B6C6C",
|
||||
"X. c #6C6B6C",
|
||||
"Y. c #B2B3B3",
|
||||
"Z. c #B2B3B2",
|
||||
"`. c #B2B1B2",
|
||||
" + c #B1B2B1",
|
||||
".+ c #B1B1B2",
|
||||
"++ c #B1B0B0",
|
||||
"@+ c #B0AFB0",
|
||||
"#+ c #AFAEAF",
|
||||
"$+ c #AEADAE",
|
||||
"%+ c #ADACAC",
|
||||
"&+ c #ACACAD",
|
||||
"*+ c #ABACAC",
|
||||
"=+ c #ACABAB",
|
||||
"-+ c #AAAAAB",
|
||||
";+ c #A9A9AA",
|
||||
">+ c #A8A8A8",
|
||||
",+ c #6D6C6C",
|
||||
"'+ c #6C6D6D",
|
||||
")+ c #B1B2B2",
|
||||
"!+ c #B0B1B0",
|
||||
"~+ c #AFB0B0",
|
||||
"{+ c #AEAFAE",
|
||||
"]+ c #AFAFAE",
|
||||
"^+ c #AEADAD",
|
||||
"/+ c #ACABAC",
|
||||
"(+ c #A9AAAA",
|
||||
"_+ c #A9A8A9",
|
||||
":+ c #A7A7A7",
|
||||
"<+ c #A6A7A6",
|
||||
"[+ c #6E6E6E",
|
||||
"}+ c #B1B0B1",
|
||||
"|+ c #ADAEAD",
|
||||
"1+ c #ADACAD",
|
||||
"2+ c #A9A8A8",
|
||||
"3+ c #A7A8A7",
|
||||
"4+ c #A7A6A7",
|
||||
"5+ c #A5A5A6",
|
||||
"6+ c #A6A6A5",
|
||||
"7+ c #A6A5A5",
|
||||
"8+ c #A5A5A5",
|
||||
"9+ c #6F6F70",
|
||||
"0+ c #5F605F",
|
||||
"a+ c #B3B2B3",
|
||||
"b+ c #AAABAB",
|
||||
"c+ c #A9AAA9",
|
||||
"d+ c #A4A5A5",
|
||||
"e+ c #A3A4A4",
|
||||
"f+ c #A4A3A3",
|
||||
"g+ c #A3A3A4",
|
||||
"h+ c #B0AFAF",
|
||||
"i+ c #AEAEAF",
|
||||
"j+ c #A8A9A8",
|
||||
"k+ c #A7A7A8",
|
||||
"l+ c #A7A7A6",
|
||||
"m+ c #A7A6A6",
|
||||
"n+ c #A5A4A4",
|
||||
"o+ c #A4A3A4",
|
||||
"p+ c #A3A4A3",
|
||||
"q+ c #A3A3A2",
|
||||
"r+ c #B2B2B3",
|
||||
"s+ c #AAAAA9",
|
||||
"t+ c #A6A6A7",
|
||||
"u+ c #A5A6A6",
|
||||
"v+ c #A5A6A5",
|
||||
"w+ c #A4A5A4",
|
||||
"x+ c #A4A4A3",
|
||||
"y+ c #A1A2A1",
|
||||
"z+ c #A1A1A0",
|
||||
"A+ c #737273",
|
||||
"B+ c #747374",
|
||||
"C+ c #AEAEAD",
|
||||
"D+ c #A6A7A7",
|
||||
"E+ c #A2A3A2",
|
||||
"F+ c #A2A1A2",
|
||||
"G+ c #A0A1A1",
|
||||
"H+ c #A1A0A1",
|
||||
"I+ c #A0A0A1",
|
||||
"J+ c #747474",
|
||||
"K+ c #B0B0AF",
|
||||
"L+ c #ABACAB",
|
||||
"M+ c #ABAAAB",
|
||||
"N+ c #A5A4A5",
|
||||
"O+ c #A3A2A3",
|
||||
"P+ c #A2A1A1",
|
||||
"Q+ c #9FA09F",
|
||||
"R+ c #9E9F9E",
|
||||
"S+ c #757676",
|
||||
"T+ c #AAA9A9",
|
||||
"U+ c #A5A5A4",
|
||||
"V+ c #A2A3A3",
|
||||
"W+ c #A1A1A2",
|
||||
"X+ c #9F9E9E",
|
||||
"Y+ c #9E9D9D",
|
||||
"Z+ c #9C9D9D",
|
||||
"`+ c #9D9D9C",
|
||||
" @ c #777877",
|
||||
".@ c #A8A8A7",
|
||||
"+@ c #9FA0A0",
|
||||
"@@ c #9F9E9F",
|
||||
"#@ c #9D9E9D",
|
||||
"$@ c #9C9D9C",
|
||||
"%@ c #9B9C9C",
|
||||
"&@ c #787879",
|
||||
"*@ c #676867",
|
||||
"=@ c #A9A9A8",
|
||||
"-@ c #9E9E9D",
|
||||
";@ c #9C9C9B",
|
||||
">@ c #9B9B9B",
|
||||
",@ c #9B9B9A",
|
||||
"'@ c #9A9B9B",
|
||||
")@ c #797A79",
|
||||
"!@ c #797A7A",
|
||||
"~@ c #7A797A",
|
||||
"{@ c #686969",
|
||||
"]@ c #9D9C9D",
|
||||
"^@ c #9A9B9A",
|
||||
"/@ c #999A9A",
|
||||
"(@ c #999999",
|
||||
"_@ c #999899",
|
||||
":@ c #7A7B7B",
|
||||
"<@ c #7B7B7B",
|
||||
"[@ c #A3A2A2",
|
||||
"}@ c #A1A0A0",
|
||||
"|@ c #9E9E9F",
|
||||
"1@ c #9C9B9C",
|
||||
"2@ c #9C9B9B",
|
||||
"3@ c #9A9A99",
|
||||
"4@ c #9A999A",
|
||||
"5@ c #989998",
|
||||
"6@ c #989898",
|
||||
"7@ c #979898",
|
||||
"8@ c #989797",
|
||||
"9@ c #979797",
|
||||
"0@ c #7C7C7D",
|
||||
"a@ c #6B6A6A",
|
||||
"b@ c #6B6A6B",
|
||||
"c@ c #000000",
|
||||
"d@ c #9F9F9E",
|
||||
"e@ c #9B9A9A",
|
||||
"f@ c #9A9999",
|
||||
"g@ c #989899",
|
||||
"h@ c #969796",
|
||||
"i@ c #969696",
|
||||
"j@ c #7D7E7D",
|
||||
"k@ c #7E7E7E",
|
||||
"l@ c #9B9B9C",
|
||||
"m@ c #999898",
|
||||
"n@ c #979897",
|
||||
"o@ c #969697",
|
||||
"p@ c #969595",
|
||||
"q@ c #959596",
|
||||
"r@ c #959595",
|
||||
"s@ c #959594",
|
||||
"t@ c #959495",
|
||||
"u@ c #7E7F7F",
|
||||
"v@ c #6C6D6C",
|
||||
"w@ c #9E9D9E",
|
||||
"x@ c #979798",
|
||||
"y@ c #969596",
|
||||
"z@ c #969695",
|
||||
"A@ c #949594",
|
||||
"B@ c #939494",
|
||||
"C@ c #949493",
|
||||
"D@ c #939493",
|
||||
"E@ c #807F80",
|
||||
"F@ c #9B9C9B",
|
||||
"G@ c #969797",
|
||||
"H@ c #959696",
|
||||
"I@ c #959494",
|
||||
"J@ c #949394",
|
||||
"K@ c #939393",
|
||||
"L@ c #939293",
|
||||
"M@ c #929392",
|
||||
"N@ c #939292",
|
||||
"O@ c #818282",
|
||||
"P@ c #6E6F6F",
|
||||
"Q@ c #989999",
|
||||
"R@ c #979696",
|
||||
"S@ c #939392",
|
||||
"T@ c #929393",
|
||||
"U@ c #919291",
|
||||
"V@ c #919190",
|
||||
"W@ c #828283",
|
||||
"X@ c #828382",
|
||||
"Y@ c #707070",
|
||||
"Z@ c #9B9A9B",
|
||||
"`@ c #9A9A9B",
|
||||
" # c #949595",
|
||||
".# c #929291",
|
||||
"+# c #929191",
|
||||
"@# c #919091",
|
||||
"## c #909090",
|
||||
"$# c #908F90",
|
||||
"%# c #8F8F90",
|
||||
"&# c #848383",
|
||||
"*# c #838384",
|
||||
"=# c #848484",
|
||||
"-# c #717171",
|
||||
";# c #999998",
|
||||
"># c #979697",
|
||||
",# c #909190",
|
||||
"'# c #919090",
|
||||
")# c #8F8F8F",
|
||||
"!# c #8E8E8E",
|
||||
"~# c #8E8F8E",
|
||||
"{# c #858484",
|
||||
"]# c #858585",
|
||||
"^# c #727372",
|
||||
"/# c #99999A",
|
||||
"(# c #959695",
|
||||
"_# c #949495",
|
||||
":# c #949393",
|
||||
"<# c #919292",
|
||||
"[# c #908F8F",
|
||||
"}# c #8F8F8E",
|
||||
"|# c #8F8E8E",
|
||||
"1# c #8E8F8F",
|
||||
"2# c #8E8D8E",
|
||||
"3# c #8E8D8D",
|
||||
"4# c #8D8E8D",
|
||||
"5# c #8D8C8D",
|
||||
"6# c #8D8D8D",
|
||||
"7# c #868686",
|
||||
"8# c #747473",
|
||||
"9# c #929192",
|
||||
"0# c #909091",
|
||||
"a# c #8D8E8E",
|
||||
"b# c #8D8D8E",
|
||||
"c# c #8C8D8D",
|
||||
"d# c #8B8C8B",
|
||||
"e# c #878787",
|
||||
"f# c #878887",
|
||||
"g# c #747475",
|
||||
"h# c #747575",
|
||||
"i# c #979796",
|
||||
"j# c #8E8E8F",
|
||||
"k# c #8E8E8D",
|
||||
"l# c #8D8D8C",
|
||||
"m# c #8B8C8C",
|
||||
"n# c #8B8B8B",
|
||||
"o# c #8A8B8B",
|
||||
"p# c #8B8A8A",
|
||||
"q# c #8A8A8A",
|
||||
"r# c #888988",
|
||||
"s# c #898989",
|
||||
"t# c #8F9090",
|
||||
"u# c #8D8C8C",
|
||||
"v# c #8C8B8C",
|
||||
"w# c #8B8B8A",
|
||||
"x# c #8C8C8B",
|
||||
"y# c #8A8A8B",
|
||||
"z# c #89898A",
|
||||
"A# c #898A89",
|
||||
"B# c #8A8989",
|
||||
"C# c #888788",
|
||||
"D# c #8C8B8B",
|
||||
"E# c #777878",
|
||||
"F# c #8B8A8B",
|
||||
"G# c #8A8B8A",
|
||||
"H# c #8A898A",
|
||||
"I# c #8A8A89",
|
||||
"J# c #888989",
|
||||
"K# c #898888",
|
||||
"L# c #888887",
|
||||
"M# c #868786",
|
||||
"N# c #797978",
|
||||
"O# c #797979",
|
||||
"P# c #929293",
|
||||
"Q# c #878788",
|
||||
"R# c #878687",
|
||||
"S# c #868586",
|
||||
"T# c #858485",
|
||||
"U# c #7A7A7A",
|
||||
"V# c #898A8A",
|
||||
"W# c #898889",
|
||||
"X# c #888889",
|
||||
"Y# c #888787",
|
||||
"Z# c #878786",
|
||||
"`# c #868685",
|
||||
" $ c #858685",
|
||||
".$ c #838483",
|
||||
"+$ c #8F908F",
|
||||
"@$ c #7B7C7C",
|
||||
"#$ c #8C8C8D",
|
||||
"$$ c #898988",
|
||||
"%$ c #878686",
|
||||
"&$ c #868585",
|
||||
"*$ c #848585",
|
||||
"=$ c #858584",
|
||||
"-$ c #838383",
|
||||
";$ c #828282",
|
||||
">$ c #838282",
|
||||
",$ c #7D7C7C",
|
||||
"'$ c #858586",
|
||||
")$ c #838484",
|
||||
"!$ c #838382",
|
||||
"~$ c #818182",
|
||||
"{$ c #828181",
|
||||
"]$ c #808180",
|
||||
"^$ c #919192",
|
||||
"/$ c #7E7D7D",
|
||||
"($ c #8C8D8C",
|
||||
"_$ c #838283",
|
||||
":$ c #828383",
|
||||
"<$ c #828281",
|
||||
"[$ c #818180",
|
||||
"}$ c #7F807F",
|
||||
"|$ c #7E7E7F",
|
||||
"1$ c #7E7F7E",
|
||||
"2$ c #7F7E7F",
|
||||
"3$ c #858686",
|
||||
"4$ c #848384",
|
||||
"5$ c #818081",
|
||||
"6$ c #818080",
|
||||
"7$ c #807F7F",
|
||||
"8$ c #7F7F7E",
|
||||
"9$ c #7F7F80",
|
||||
"0$ c #909191",
|
||||
"a$ c #8B8B8C",
|
||||
"b$ c #848584",
|
||||
"c$ c #848483",
|
||||
"d$ c #7E7E7D",
|
||||
"e$ c #7E7D7E",
|
||||
"f$ c #7D7D7D",
|
||||
"g$ c #828182",
|
||||
"h$ c #7F8080",
|
||||
"i$ c #7D7C7D",
|
||||
"j$ c #7C7D7D",
|
||||
"k$ c #7C7D7C",
|
||||
"l$ c #7C7C7B",
|
||||
"m$ c #7B7C7B",
|
||||
"n$ c #7D7E7E",
|
||||
"o$ c #7D7D7E",
|
||||
"p$ c #7D7D7C",
|
||||
"q$ c #7C7B7C",
|
||||
"r$ c #7B7B7A",
|
||||
"s$ c #7A7B7A",
|
||||
"t$ c #7A7A7B",
|
||||
"u$ c #7A7A79",
|
||||
"v$ c #787979",
|
||||
"w$ c #848485",
|
||||
"x$ c #7F7E7E",
|
||||
"y$ c #7C7B7B",
|
||||
"z$ c #7A7979",
|
||||
"A$ c #787878",
|
||||
"B$ c #787777",
|
||||
"C$ c #787877",
|
||||
"D$ c #808081",
|
||||
"E$ c #787978",
|
||||
"F$ c #777677",
|
||||
"G$ c #767776",
|
||||
"H$ c #7B7A7A",
|
||||
"I$ c #767677",
|
||||
"J$ c #757576",
|
||||
"K$ c #757475",
|
||||
"L$ c #747373",
|
||||
"M$ c #727373",
|
||||
"N$ c #737372",
|
||||
"O$ c #737272",
|
||||
"P$ c #7B7A7B",
|
||||
"Q$ c #757675",
|
||||
"R$ c #757574",
|
||||
"S$ c #717272",
|
||||
"T$ c #717172",
|
||||
"U$ c #777676",
|
||||
"V$ c #70706F",
|
||||
"W$ c #79797A",
|
||||
"X$ c #757474",
|
||||
"Y$ c #727271",
|
||||
"Z$ c #727171",
|
||||
"`$ c #6F6E6F",
|
||||
" % c #767575",
|
||||
".% c #6F6E6E",
|
||||
"+% c #6E6F6E",
|
||||
"@% c #6E6D6D",
|
||||
"#% c #6D6D6E",
|
||||
"$% c #6D6D6C",
|
||||
"%% c #717271",
|
||||
"&% c #6C6C6D",
|
||||
"*% c #6B6B6C",
|
||||
"=% c #717170",
|
||||
"-% c #6F706F",
|
||||
";% c #6E6D6E",
|
||||
">% c #6C6C6B",
|
||||
",% c #6A6B6B",
|
||||
"'% c #6A6B6A",
|
||||
")% c #707170",
|
||||
"!% c #6F7070",
|
||||
"~% c #6A6A6B",
|
||||
"{% c #6E6E6F",
|
||||
"]% c #696A6A",
|
||||
"^% c #696968",
|
||||
"/% c #686968",
|
||||
"(% c #666766",
|
||||
"_% c #6C6B6B",
|
||||
":% c #676667",
|
||||
"<% c #6A696A",
|
||||
"[% c #656465",
|
||||
"}% c #666566",
|
||||
"|% c #666665",
|
||||
"1% c #646565",
|
||||
"2% c #646364",
|
||||
"3% c #646363",
|
||||
"4% c #989798",
|
||||
"5% c #686869",
|
||||
"6% c #626362",
|
||||
"7% c #606061",
|
||||
"8% c #B3B3B2",
|
||||
"9% c #A8A9A9",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" . . + @ + # + ",
|
||||
" + + $ + % & & & * * = ",
|
||||
" - - ; > , ' ) ! ~ { ] ] ^ ",
|
||||
" / ( _ : < [ < } } | | 1 2 3 3 ",
|
||||
" 4 4 5 } 6 | | 7 7 8 9 0 a b ",
|
||||
" 3 c d e 7 7 f ) g h i j ",
|
||||
" k k l m n o p q r s ",
|
||||
" t u v ) w x y z A B ",
|
||||
" C s D o E F G H I J ",
|
||||
" K A l x L M N O ",
|
||||
" P P Q R S 1 T U ",
|
||||
" V V H L W X X Y Z ` ",
|
||||
" ...+.@.S #.$.+.%.%. ",
|
||||
" &.*.=.-.X ;.l >.,.'. ",
|
||||
" ).%.!.! ! ! ~.~.{.].^./. ",
|
||||
" (._.:.<.[.}.~. q q q M |.1._ ",
|
||||
" /./.v 2.q M 3.: : 4.5.H !.6.7. ",
|
||||
" 2 { 8.!.9.2.0.2.9.a.b.b.c. ",
|
||||
" . . . . . . . . . . . . . . . . . . . . . . . . . . d.. e.@ f.f.g.& & h.& = i.j.j.j.k.] ] l.4 m.n.o.p.3 3 q.r.s.r.r.t.t.u.u.j v.w.j j x. ",
|
||||
" . . . . . . . . . . . . . . . . . . . . . . . @ d.y.+ z.z.f.$ & A.A.= * * j.B.] ] C.m.4 m.m.D.p.p.3 E.E.r.r.t.r.u.u.u.u t i j j x.F.s s G.H.K K ",
|
||||
" . . . . I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.J.K.K.K.L.M.N.O.} } } } } P.| | Q.7 7 8 m m 9 m f R.) ) ) S.S.S.S.T.E E U.E x V.A W.X. ",
|
||||
" . . . I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.Y.Z.K.`. +M..+N.++N.++} @+| | | | e #+7 $+$+m m %+&+) ) ) *+=+g S.o E -+;+E ;+x x x >+>+>+F G ,+'+J ",
|
||||
" . . I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.J.I.K.K.K.K.)+M.[ ++!+} ~+} ~+| | {+]+{+$+7 $+^+m n n %+) /+w S.S.S.o E E E U.(+x x x _+>+>+>+:+R :+:+<+:+L O [+ ",
|
||||
" . . . I.I.I.I.I.I.I.I.I.I.I.I.I.I.J.Z.K.K..+`.N.N.}+++} ~+} 6 | | | e 7 7 7 m |+m &+1+f ) *+*+w S.T.-+o E E E (+x x 2+2+>+>+3+F R :+4+L L L 5+6+7+8+@. .9+T ",
|
||||
" 0+@ I.I.I.I.I.I.I.I.I.Y.a+Z.K.K.L.N.N.[ !+} } } ~+} 6 | {+7 7 7 $+m ^+m ) ) 1+) g /+S.S.S.b+E E E (+c+x x y >+>+>+F F :+:+:+L L L W W 5+8+S d+@.@.e+f+g+Z &. ",
|
||||
" & $ I.I.I.I.I.I.J.K.K. +L.N.N.!+} } h+| | 6 | | {+i+7 7 8 m R.R.) ) ) ) *+w S.b+b+E E E (+x x _+j+y >+G G 3+k+:+l+m+m+L 7+5+5+d+8+n+@.o+o+p+X q+X #.#.#.).%. ",
|
||||
" & * * r+K.L.)+.+N.N.++N.!+} } h+@+| | | 7 7 7 9 m m 1+&+&+f ) ) w S.S.o E T.s+s+x (+x 2+j+y >+F k+:+:+4+t+t+L u+u+v+v+8+8+w+@.x+o+@.X X q+-.-.#.' y+! ! z+A+(.B+ ",
|
||||
" ] / +.+N.N.} !+} @+@+P.| | ]+i+7 |+C+m m m &+f f g *+=+S.S.S.o E E U.s+(+x x j+2+>+F k+k+:+D+m+L L 6+8+7+8+8+8+n+@.@.o+x+f+X -.E+#.' F+' ! ! ;.G+H+I+}.}.<.J+/. ",
|
||||
" 4 m.m.!+K+@+~+h+| #+7 {+7 C+^+8 m m &+&+) g L+S.S.S.p M+E U.s+x x x x 2+2+>+R F k+:+<+l+L L L W 8+v+N+w+@.S x+x+X X q+X O+E+F+P+F+! ! H+I+;.Q l Q+~.~.{.~.R+q S+_ _ ",
|
||||
" 3 3 h+| | {+e 7 ^+^+^+m m ) ) ) ) =+w S.S.b+-+T.U.c+T+;+x x 2+2+>+>+R :+:+D+L L L L 6+7+8+N+U+w+@.e+x+o+p+V+X #.E+' y+W+! H+l l l l [.[.~.{.~.q X+q 3.Y+: : Z+`+8. @ ",
|
||||
" r.r.7 m 7 ^+m n R.) ) L+*+=+L+S.-+b+E E (+T+x x x >+j+>+.@G :+l+:+D+L L u+7+5+8+N+8+@.@.f+X f+f+q+X #.#.y+' $.! ! ;.I+l Q +@Q+}.@@~.q q q #@3.: : : $@$@1 1 %@%@&@c. ",
|
||||
" u.w.*@m &+&+) /+w S.S.S.S.o o E x c+T+x y =@>+>+R G :+:+:+m+:+6+7+6+8+8+8+n+S @.e+@.x+X q+#.#.E+#.y+! ! ! z+I+l l +@l }.~.~.R+R+q -@#@: : `+5.1 1 ;@>@>@>@>@,@'@=.)@!@~@ ",
|
||||
" j {@g S.S.S.S.E p E c+T+U.x x 2+_+>+>+F R R t+:+m+L L 5+v+8+8+8+N+w+@.@.f+p+f+X X #.#.#.! ! ! ! I+z+l l [.~.~.~.{.X+q q M M : : ]@5.1 1 %@;@>@>@>@>@^@=./@(@(@0.(@_@:@<@ ",
|
||||
" H.s r M+T.E E T+;+x =@x y >+>+G F :+:+D+L L L L 7+8+8+n+U+@.@.p+p+X X O+V+#.[@#.$.P+! ! }@G+l <.Q [.[.~.@@|@q q M #@: : : 4.1 1 1@2@>@>@>@=.=.=.3@4@3@(@(@_@5@6@7@8@9@h h 0@ ",
|
||||
" a@b@T+;+x =@y >+>+>+3+G :+:+l+c@c@c@c@c@c@d+8+N+@.@.@.X o+X X q+#.#.P+P+W+! ! G+H+l +@+@<.~.~.d@R+q q 3.M 3.: ]@Z+5.1@2@1 >@>@=.=.e@=.=.f@(@(@(@g@6@6@6@6@9@8@h@9@i@i@i@j@k@ ",
|
||||
" P W.j+>+G R 3+:+:+t+:+L L 7+7+c@c@c@c@c@c@@.@.X X O+X #.' #.F+P+! G+H+l l l ~.Q ~.~.X+q R+-@M M #@Z+]@4.1 1 ;@2@l@>@e@^@^@=.4@=.0.(@(@5@m@6@>.8@n@9@9@i@o@i@p@q@p@r@s@t@v u@ ",
|
||||
" J J v@:+:+:+l+L 5+6+5+8+d+d+@.@.c@c@c@c@c@c@#.#.#.#.' P+! ! ! I+l Q ~.~.~.d@q X+q q w@3.: : 5.1 4.1 %@2@>@>@>@e@=.=.3@4@0._@_@5@5@6@6@x@9@8@9@9@i@i@i@y@z@r@r@t@A@2.B@C@D@!.E@!. ",
|
||||
" O [+L L v+8+8+8+8+S @.e+x+x+X X c@c@c@c@c@c@! H+! }@}@l l l [.~.{.d@q q M w@Y+: : ]@1 $@1 1 %@F@>@'@'@=.=.4@=.(@(@g@(@6@6@7@9@n@9@9@o@G@i@z@H@y@r@r@I@r@2.2.2.J@K@K@L@M@N@H a.O@ ",
|
||||
" P@T N+w+n+@.@.g+X X V+O+V+[@#.y+c@c@c@c@c@c@l Q Q+~.~.~.{.{.q q q : : `+: `+1 ;@2@F@l@>@,@^@=.=./@/@(@Q@Q@m@5@6@x@x@x@9@9@i@R@i@z@r@q@r@r@t@A@A@D 2.K@D@K@S@T@H H U@H Y Y V@W@X@ ",
|
||||
" Y@Y@Y@p+g+X [@X #.-.#.F+W+! ! ! ! c@c@c@c@c@c@|@q q q M 3.: : ]@]@5.1 1 1 >@>@^@Z@=.`@=.f@f@(@Q@m@6@Q@6@x@9@8@9@9@o@R@i@i@y@q@r@ #I@I@2.J@B@K@K@S@N@M@H .#+#.#Y Y V@@#####$#%#&#*#=# ",
|
||||
" -#-#-.O+#.' ! P+W+z+}@I+}@l l Q [.c@c@c@c@c@c@Y+: ]@Z+: 1 1 %@>@>@>@>@'@=.=./@3@(@(@;#6@6@6@6@7@9@n@>#9@i@R@i@i@q@r@r@ #s@2.2.J@D D@K@S@K@H N@H +#Y Y Y ,#'#####, $#)#)#)#!#~#!#{#]# ",
|
||||
" %.^#! ! ! }@z+}@l +@+@~.~.X+{.R+q c@c@c@c@c@c@1 1 ;@;@F@>@=.e@'@=./#3@f@(@Q@_@5@m@>.>.n@9@G@R@>#o@i@(#z@H@r@t@2._#2.:#B@D K@N@T@H H .#<#Y Y Y Y ######$#[#)#}#|#1#|#!#2#3#4#5#6#7#7# ",
|
||||
" (.(.8#l l l ~.[.d@~.q X+q Y+#@3.: Z+c@c@c@c@c@c@>@>@^@`@=.=./@c@c@c@c@c@c@6@>.8@9@9@h@9@i@i@c@c@c@c@c@c@2.2.2.c@c@c@c@c@c@H U@9#U@Y Y Y 0#####%#)#)#)#)#!#}#a#b#b#6#c#5#c#9.9.9.d#e#f#e# ",
|
||||
" g#h#~.|@@@|@q -@q #@: : : 4.$@F@%@%@c@c@c@c@c@c@4@4@(@(@Q@Q@c@c@c@c@c@c@i#i#o@i@z@i@H@r@c@c@c@c@c@c@c@c@c@N@M@c@c@c@c@c@c@Y '#'#####%#%#)#)#j#!#!#!#k#!#6#6#5#9.l#9.9.m#d#n#o#o#p#q#r#s# ",
|
||||
" S+/.S+q q 3.: ]@$@`+4.1 %@l@>@Z@,@e@=.c@c@c@c@c@c@(@m@6@>.8@n@c@c@c@c@c@i@y@q@r@r@s@s@2.c@c@c@c@c@c@c@c@c@c@c@U@c@c@c@c@c@c@t#, )#1#}#|#!#!#2#4#6#6#c#u#9.9.v#n#n#n#w#q#q#q#q#q#s#s#s#q#q#p# ",
|
||||
" 2 8.`+`+1 1 %@1 F@2@>@>@^@=./@3@4@/@(@c@c@c@c@c@c@9@9@9@>#h@c@c@c@c@c@r@r@t@I@2.B@D@K@K@c@c@c@c@c@c@c@c@c@c@c@c@c@c@c@c@c@c@|#!#!#6#b#6#5#l#9.9.9.x#9.n#n#n#o#y#q#z#A#B#s#s#r#:.:.f#C#f#d#D# ",
|
||||
" 7.E#%@l@>@>@`@'@e@3@=.4@(@(@5@5@6@6@6@c@c@c@c@c@c@i@i@r@r@c@c@c@c@c@c@K@K@D@K@S@S@L@H c@c@c@c@c@c@c@##$#$#$#c@c@c@c@c@c@c@c@6#6#9.5#9.9.d#D#n#n#F#q#G#q#H#I#A#s#J#K#K#:.C#C#L#e#e#M#7#7#9.9. ",
|
||||
" N#c.O#e@=.=.=.(@0.(@(@_@5@>.6@7@9@9@9@G@c@c@c@c@c@c@s@r@r@c@c@c@c@c@c@S@S@P#H U@Y Y Y Y c@c@c@c@c@c@)#~ 1#~#!#2#c@c@c@c@c@c@c@x#n#9.n#n#w#G#q#I#H#B#A#s#r#s#:.:.:.Q#L#e#R#R#7#7#S#7#]#]#T#a#!#~# ",
|
||||
" ~@U#f@f@(@Q@m@g@7@>.x@n@9@i@9@i@H@y@r@y@c@c@c@c@c@c@2.D c@c@c@c@c@c@H U@Y Y V@,#,###, c@c@c@c@c@c@c@a#a#k#6#5#6#c@c@c@c@c@c@c@o#y#q#q#I#s#V#W#s#X#:.:.Y#:.C#e#Z#7#7#`#7# $]#]#T#]#{#=#=#=#.$)#+$ ",
|
||||
" <@@$6@8@9@x@9@9@o@o@i@i@y@H@r@r@ #I@A@2.c@c@c@c@c@c@M@c@c@c@c@c@c@Y 0#####$#)#)#)#1#~#c@c@c@c@c@c@u#6##$9.9.D#D#d#c@c@c@c@c@c@A#s#$$J#X#r#:.:.f#e#e#%$R#7#7#&$]#`#*$=$=$=#=#=#*#-$-$-$;$W@>$,#Y ",
|
||||
" h h ,$9@i@i@i@i@y@H@r@r@r@r@_#2.J@:#K@K@N@c@c@c@c@c@c@c@c@c@c@c@c@##$#%#)#1#|#~#!#a#a#6#c@c@c@c@c@c@D#9.n#o#p#q#q#B#c@c@c@c@c@c@:.|.:.L#e#5 Z#R#7#7#'$ $]#]#{#=#=#=#=#)$&#-$-$W@!$X@;$~${$a.]$H H ^$ ",
|
||||
" j@/$H@y@p@r@r@t@2.2.2.2.J@:#K@K@P#M@H H +#c@c@c@c@c@c@c@c@c@c@c@c@c@!#2#k#b#3#5#c##$($9.c@c@c@c@c@c@o#q#V#z#B#s#s#W#c@c@c@c@c@c@e#e#0 7#`#`#S#]#]#=$T#=#=#)$*#-$-$_$:$;$;$<$O@{$a.]$[$!.!.!.v }$K@:# ",
|
||||
" |$1$2$s@2.2.C@:#D@K@K@K@H M@H H U@Y Y Y 0###c@c@c@c@c@c@c@c@c@c@c@c@c@c#5##$9.9.m#D#v#n#o#c@c@c@c@c@c@s#J#$$:.:.:.L#Y#c@c@c@c@c@c@`#3$]#]#]#*$]#=#*#4$)$-$!$X@!$;$;$~$a.a.].5$5$6$!.}$7$v 8$v u@2$2.2.r@ ",
|
||||
" 9$}$:#B@K@K@L@H N@<#H <#<#@#0$0$######, +$)#c@c@c@c@c@c@c@c@c@c@c@c@c@c@a$D#y#p#q#q#q#q#s#c@c@c@c@c@c@C#e#:.e#e#5 %$7#c@c@c@c@c@c@b$=#c$=#-$-$-$W@;$;$;$;$+.a.a.a.[$[$!.!.!.}$v u@2$k@k@k@d$e$f$,$f$r@z@ ",
|
||||
" a.].L@T@H U@+#U@Y Y Y ######, +$)#)#j#!#!#k#c@c@c@c@c@c@c@c@a$c@c@c@c@c@p#q#I#B#s#s#K#s#K#c@c@c@c@c@c@%$%$7#7#'$'$]#{#c@c@c@c@c@c@-$-$:$!$X@g$~$O@+.a.a.[$!.!.}$E@h$v 2$2$|$k@k@f$/$f$i$j$k$h l$@$m$9@9@ ",
|
||||
" g$~$<$+#Y @#'#V@t#[#[#%#)#1#|#j#!#k#b#6#4#l#l#c@c@c@c@c@c@n#w#y#c@c@c@c@c@c@W#J#:.:.:.|.e#e#c@c@c@c@c@c@3$]#*$=$=$=#4$*#c@c@c@c@c@c@<$a.+.a.a.[$].!.z E@z v v v |$1$k@n$k@f$o$f$j$p$0@h q$<@<@r$r$s$s$6@6@5@ ",
|
||||
" >$-$,###+$[#[#)#}#}#!#!#b#b#6#6#6#6##$u#9.x#d#c@c@c@c@c@c@I#B#s#s#c@c@c@c@c@c@Q#5 Z#M#7#7#7#c@c@c@c@c@c@=#c$c$-$-$-$>$X@c@c@c@c@c@c@a.[$!.!.7$h$v 8$8$8$1$k@n$j@/$f$f$j$0@h q$<@l$<@<@t$U#U#~@u$O#O#O#v$f@/@ ",
|
||||
" c$)$=#)#)#!#~#!#3#a#4#6#5#9.#$9.v#m#n#n#n#w#G#q#c@c@c@c@c@c@$$K#:.C#c@c@c@c@c@c@7#7# $ $]#T#w$c@c@c@c@c@c@c@!$X@;$;$a.<$c@c@c@c@c@c@c@v v v k@x$k@k@k@o$o$f$k$f$i$h l$q$y$<@<@<@t$U#U#u$O#z$c.&@b.A$E#B$C$,@^@,@ ",
|
||||
" ]#]#!#6#k#3#6#6#l#($9.9.m#n#n#n#F#y#q#I#V#z#s#s#c@c@c@c@c@c@e#e#M#M#7#c@c@c@c@c@c@b$=#=#)$.$-$-$c@c@c@c@c@c@g${$a.!.a.D$c@c@c@c@c@c@c@x$k@d$/$f$f$j$p$h h h c@c@c@c@c@c@U#U#z$~@O#b.E$c.A$A$C$7.8.8.F$G$_ _ 1 1 ",
|
||||
" 7#7##$9.c#9.x#n#n#n#n#n#p#q#I#H#s#s#s#s#J#:.:.L#c@c@c@c@c@c@3$ $&$]#]#c@c@c@c@c@c@-$-$>$>$;$;$O@c@c@c@c@c@c@c@!.E@9$v c@c@c@c@c@c@c@c@f$f$0@0@h <@l$y$<@t$H$c@c@c@c@c@c@c.O#c.&@A$A$8.B$8.{ I$_ > S+/.J$/.h#: #@ ",
|
||||
" e#e#Y#v#n#n#o#p#q#q#q#A#z#s#J#K#X#:.:.Q#e#e#e#Z#0 c@c@c@c@c@c@b$*$b$=#=#)$c@c@c@c@c@c@O@;$a.a.]$].6$c@c@c@c@c@c@c@c@c@c@c@c@c@c@c@c@c@c@d <@<@r$:@<@H$U#u$u$U#c@c@c@c@c@c@7.7.8.I$2 I$_ S+S+S+/.g#/./.^.J+'.8#q @@{. ",
|
||||
" :.:.F#p#q#q#q#A#s#J#s#X#:.:.|.L#Y#5 %$7#7#7# $`#]#c@c@c@c@c@c@c$-$-$-$>$;$;$c@c@c@c@c@c@!.!.!.}$v v c@c@c@c@c@c@c@c@c@c@c@h c@c@c@c@c@c@r$U#U#~@u$O#O#N#E$A$A$c@c@c@c@c@c@2 _ _ 1.J$J$/.K$h#J+J+L$'.(.M$N$%.O$%.l +@ ",
|
||||
" z#V#z#$$W#X#r#:.:.Q#e#Q#R#Z#%$7#S#'$]#]#]#]#=#{#=#c@c@c@c@c@c@W@;$;$+.a.a.5$c@c@c@c@c@c@v u@1$1$k@k@d$c@c@c@c@c@c@c@c@c@<@P$c@c@c@c@c@c@z$O#v$b.A$A$A$B$B$8.8.c@c@c@c@c@c@Q$K$J+R$J+J+B+L$'.(.(.%.O$%.S$T$-#-#` H+! ",
|
||||
" p#F#w#:.:.:.Y#e#Z#Z#7#7#7#`#&$]#]#T#b$=#=#c$-$*#-$!$c@c@c@c@c@c@a.].]$]$!.E@}$9$c@c@c@c@c@c@e$f$f$f$f$i$h h c@c@c@c@c@s$U#U#u$c@c@c@c@c@c@A$ @6. @8.{ 2 U$_ _ _ c@c@c@c@c@c@B+J+_.(.A+A+^#%.%.%.%.S$` *.-#Y@Y@U V$#.q+E+ ",
|
||||
" v#9.e#5 e#7#7#S#3$]#]#]#*$=$b$4$&#-$-$-$:$_$;$;$<$<${$a.].]$!.!.!.z v 8$v 8$x$k@k@d$j@f$f$p$f$h l$m$d <@<@:@U#t$u$W$O#O#O#v$v$c@c@c@c@c@c@{ { G$_ _ _ /./.h#X$^.^.8#(.,.(.(.A+%.%.Y$Z$S$-#-#*.Z Y@Y@U U . .`$`$[+[+e+o+ ",
|
||||
" c#5#6#7#`#]#]#=$=$w$=#c$=#-$4$-$_$X@;$;${$a.{$a.a.a.6$!.h$7$}$2$2$k@k@k@n$/$f$f$f$k$k$h h q$m$<@P$r$U#U#U#U#u$O#O#c.E$A$E#7. @7.c@c@c@c@c@c@J$ %/./.X$J+J+_.B+(.(.A+M$^#%.%.S$S$-#-#*.&.Z Y@U . ....%+%[+[+@%#%#%J $%U+8+8+ ",
|
||||
" 2#!#*$b$w$=#.$-$-$-$W@-$;$;$;${${$a.a.!.!.!.h$h$9$v v 2$2$1$e$k@k@j@p$h ,$h h l$h <@<@<@U#s$U#U#W$W$O#c@c@c@c@c@c@8.E#8.2 8._ c@c@c@c@c@c@R$g#J+_.8#,.(.A+M$%.A+%%S$-#-#-#` Y@Y@Y@V$ .9+ .[+`$.%[+[+N J J I &%,+P P P *%<+<+ ",
|
||||
" ~ )#-$-$-$:$_$>$;$g$g$+.a.a.6$5$!.!.E@7$v v |$|$k@k@k@f$/$f$k$h k$h @$l$<@<@:@<@r$U#~@u$z$)@O#b.A$E$C$c@c@c@c@c@c@c@S+1.S+Q$c@c@c@c@c@c@c@L$(.(.N$%.%.%.Z$).-#-#=%*.Y@Y@U -% . . .[++%O V ;%J J J v@P W.>%A A A ,%'%V.K :+3+ ",
|
||||
" )###,#;$;$g$a.+.a.a.[$a.!.h$9$E@v 8$v x$x$n$e$/$f$f$i$0@k$h q$q$d <@H$t$U#U#~@U#!@O#v$&@A$b.7.6.7.8.8.F$8.c@c@c@c@c@c@c@c@c@c@c@c@c@c@c@c@O$%.S$Y$-#-#=%` )%Y@!%9+T T ..%P@[+N ;%O J J '+$%I P P B A A a@b@~%K r s s s F.2+=@_+ ",
|
||||
" Y Y a.a.a.5$!.]$E@z z v u@u@k@x$k@e$f$f$j$f$h 0@h h d <@<@<@H$U#U#U#u$O#O#N#A$E$A$A$C$A$8.8.U$_ _ > > _ /./.c@c@c@c@c@c@c@c@c@c@c@c@c@c@c@-#Z )%&.Y@Y@T !% . .{%+%[+[+N V @%I $%,+&%P W.P A A A ,%K K G.]%s s s x.j j j u w.E E ",
|
||||
" S@M@!.E@}$v v v 8$1$k@k@k@e$f$f$j$h k$h y$q$<@<@U#r$U#U#u$U#O#v$E$N#b.A$B$ @8.8.{ I$U$2 > %S+Q$h#/.g#J+,.J+,.c@c@c@c@c@c@c@c@c@c@c@c@` Y@!%!%T . .`$[+[+N O J J J $%I P P P P A A A ,%'%K s H.H.s ^%/%^%j t u t u.u.(%b a S.L+ ",
|
||||
" D K@C@v u@k@k@k@j@f$/$f$f$h h h d d <@<@P$:@H$u$U#!@z$O#&@O#c.A$E#6.8.8.F$F$G$_ _ %> /.X$/.^.J+J+_.J+(.(.(.A+^#%.Y$c@c@c@c@c@c@c@c@T . .P@P@{%[+O N N J J $%P ,+B _%*%_%,%b@,%K K K H.s s s j j j i *@u.u.k :%(%a r.3 c s.3 ) R.1+ ",
|
||||
" 2.s@k@e$j@j@p$f$p$h h q$<@<@<@s$t$t$U#U#W$O#O#c.A$A$A$A$ @7.8.{ { I$_ Q$J$> /./.g#J+J+J+J+8#(.(.M$A+%.%.S$T$-#-#*.)%Y@Y@U Y@-% .+%{%+%[+[+;%@%J $%&%P P X.X._%A A A V.,%K <%C C s /%s ^%u j u.u.u.u.a :%r.r.E.3 3 p.p.[%m.m.m.] 9 ^+ ",
|
||||
" z@i@H@,$j$h @$m$d <@<@P$U#U#)@U#u$O#E$b.b.A$A$6.C$7.8.G$I$_ _ _ S+Q$/.K$R$^.J+'.(._.(.(.(.O$O$%.%.-#-#-#-#-#)%V$Y@T -% . . .{%[+N N J J J v@,+P _%>%X.B A '%A K G.G.<%r s /%{@j j j v.*@u.t.t.r.r.}%E.|%3 1%o.p.m.2%m.] 3%] / j.j.#+| | ",
|
||||
" 9@9@h l$<@<@t$H$U#u$W$O#O#O#O#A$b.A$E# @8.8.8.I$_ _ /.S+1./.R$/.J+J+L$8#(.(.(.^#A+%.S$Z$%%-#*.-#)%=%Y@T V$-% ...`$+%[+O J J J '+&%J P P X._%A A V.A K K ]%C r ^%{@^%j j v.*@w.u.u.:%t.r.r.c q.3 1%1%3 m.4 ] 4 ] ] / * * * A.& & f.& < ++ ",
|
||||
" 4%6@H$U#!@z$W$O#O#b.c.A$A$C$7.7.8.I$U$G$_ /.1.1././.R$^.J+_._.'.(.(.^#A+%.%.Z$T$-#-#=%)%Y@Y@T T . .`$`$+%[+[+O @%J ,+&%P P P W._%A A A K K K K G.s ^%F.s j u u j u u.k b r.|%s.s.3 3 [%p.[%m.m.] ^ ] ] k.( * = * - & $ % z.+ + # + .+.+ ",
|
||||
" _@(@(@O#E$E$A$A$6.8.C$8.8.8._ _ _ S+S+/././.X$X$J+J+(.L$(.(.N$M$%.%.%%%%-#-#Y@)%Z 9+Y@ . . .`$+%[+O N O #%J J v@$%P P A *%A V.,%~%a@K K s s ^%^%5%/%i u.*@u.u.b r.r.r.|%3 s.3 3 1%m.m.m.] m.] 6%] * * i.- - - & + 7%+ + + y.. . . . . a+I.I. ",
|
||||
" =.=.A$A$B$8. @I$F$G$G$_ S+ %/./.^.J+^.8#J+B+(.(.O$A+%.%.Y$%.T$-#-#=%Y@Y@!%-%U . ...[++%[+O @%J J '+P v@P W.B _%A A ,%,%K K <%s s {@{@^%j v.i t u.u.t.a r.r.r.E.E.3 o.D.m.m.C.l.3%] ( / j.* = A.& & g.g.z.+ d.y.. . . . . . . . . . . . I.I. ",
|
||||
" >@>@>@8.8._ G$> > _ S+R$g#^.J+J+8#_.(.(.N$^#O$%.T$-#-#-#-#=%Y@Y@Y@!%9+ .[+P@..[+[+O J J J ,+$%P P B W.*%A ~%K K K <%s <%s F.5%/%j u v.u.w.u.k t.r.r.3 }%3 [%D.1%m.m.4 C.2%] ] ( 6%* A.- & & & + + + d.0+y.. . . . . . . . . . . . . . . . I.I.I. ",
|
||||
" 1 1 _ J$/.J$/.R$J+R$J+8#_.(.(.M$O$O$%.Y$S$T$=%-#Z &.Y@Y@ .T ...`$[+[+N [+N J I '+v@P P W._%A A ,%A K ]%K C s s s s /%j v.w.j u.u.k :%r.|%r.q.3 3 3 n.m.m.2%C.] ] / B.* * * A.h.& z.+ + + 0++ 0+0+. . . . . . . . . . . . . . . . . . . . . I.I. ",
|
||||
" : 3.R$K$J+J+(.L$(.A+N$N$%.%.Y$-#T$-#&.&.` Y@-%V$ . ...+%{%[+N [+J J ,+&%P P P P A A A A K K K K G.s s x.F.5%j j w.u.u.a u.r.r.r.3 q.c 1%1%o.m.m.2%C.] ] ] k.6%* = & ; & $ f.f.d.@ d.. . . . . . . . . . . . . . . . . . . . . . . . . . . . I.I. ",
|
||||
" |@d@8#(.(.A+^#%.Y$-#-#-#-#*.&.Y@Y@Y@9+9+ .+%+%[+[+[+[+#%J J v@P P W.*%_%A A a@'%K K H.C <%x.F.5%j j i i *@u.:%b r.r.r.}%3 3 3 [%o.o.2%m.^ ^ ] / 6%j.= h.= h.& & f.+ + + y.y.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I.I. ",
|
||||
" Q+[.l %.Y$Y$-#-#-#&.Z !%V$9+ . . . ..%[+V [+J J J v@J P P X._%A A a@V.~%]%K r s s s {@j j j i u.u.u.k (%r.}%|%c 3 1%p.3 m.^ C.] ] ] * * j.h.- ; & % 7%f.+ + + e.e.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I.I.I. ",
|
||||
" ! ! -#)%Y@V$V$9+ . ...{%[+O [+@%J J '+I $%P P P A B A ~%b@V.<%r C s s s /%j j *@w.i u.u.k r.r.r.3 3 3 3 D.m.m.] 3%] ] 6%k.* * * = h.& & g.f.+ + y.# d.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I.I. ",
|
||||
" #.#.E+U ..%[+{%[+V @%[+J J v@v@P B W.*%A V.a@'%K r <%C H.s /%j j j i *@u.u.k b t.r.q.|%|%3 3 n.1%4 m.3%] ] j.B.j.* * * & & & g.+ f.+ . # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I.I.I. ",
|
||||
" f+x+@.@.N+d+N+8+u+5+u+L L l+l+<+:+:+F >+>+>+2+2+x x c+(+E E T.E b+S.g S.g ) ) f n m m m 8 $+^+7 i+e 7 | | ~+K+K+++}+[ }+N.N.K.`.K.Z.K.8%I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I. ",
|
||||
" 8+8+5+L L L <+D+:+4+F .@:+>+>+>+9%x x T+U.E U.E b+b+S.S.g w ) ) f R.n m m m ^+7 8 7 7 ]+Q.| | P.h+} < N.}+N.N.)+ +)+K.Z.Y.8%I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I. ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
|
@ -34,13 +34,13 @@ class ShipWorkbench ( Workbench ):
|
|||
# ToolBar
|
||||
list = ["Ship_LoadExample", "Ship_CreateShip", "Ship_OutlineDraw", "Ship_AreasCurve", "Ship_Hydrostatics"]
|
||||
self.appendToolbar("Ship design",list)
|
||||
list = ["Ship_CreateTank"]
|
||||
list = ["Ship_Weights", "Ship_CreateTank"]
|
||||
self.appendToolbar("Loading",list)
|
||||
|
||||
# Menu
|
||||
list = ["Ship_LoadExample", "Ship_CreateShip", "Ship_OutlineDraw", "Ship_AreasCurve", "Ship_Hydrostatics"]
|
||||
self.appendMenu("Ship design",list)
|
||||
list = ["Ship_CreateTank"]
|
||||
list = ["Ship_Weights", "Ship_CreateTank"]
|
||||
self.appendToolbar("Loading",list)
|
||||
|
||||
Gui.addWorkbench(ShipWorkbench())
|
||||
|
|
|
@ -663,7 +663,7 @@ class ViewProviderShip:
|
|||
def sections(obj):
|
||||
""" Returns the discretization points of sections, with the advantage
|
||||
that is a list of nSections lists, with the points.
|
||||
@param Ship object
|
||||
@param obj Ship object
|
||||
@return Sections points
|
||||
"""
|
||||
histogram = obj.nPoints[:]
|
||||
|
@ -674,3 +674,42 @@ def sections(obj):
|
|||
for j in range(histogram[i],histogram[i+1]):
|
||||
sections[i].append(points[j])
|
||||
return sections
|
||||
|
||||
def weights(obj):
|
||||
""" Returns Ship weights list. If weights has not been sets,
|
||||
this tool creates it.
|
||||
@param obj Ship object
|
||||
@return Weights list. None if errors
|
||||
"""
|
||||
# Test if is a ship instance
|
||||
props = obj.PropertiesList
|
||||
try:
|
||||
props.index("IsShip")
|
||||
except ValueError:
|
||||
return None
|
||||
if not obj.IsShip:
|
||||
return None
|
||||
# Test if properties already exist
|
||||
try:
|
||||
props.index("WeightNames")
|
||||
except ValueError:
|
||||
obj.addProperty("App::PropertyStringList","WeightNames","Ship", str(Translator.translate("Ship Weights names"))).WeightNames=[Translator.translate("Lightweight").__str__()]
|
||||
try:
|
||||
props.index("WeightMass")
|
||||
except ValueError:
|
||||
# Compute mass aproximation
|
||||
from shipHydrostatics import Tools
|
||||
disp = Tools.Displacement(obj,obj.Draft,0.0)
|
||||
obj.addProperty("App::PropertyFloatList","WeightMass","Ship", str(Translator.translate("Ship Weights masses"))).WeightMass=[1000.0 * disp[1]]
|
||||
try:
|
||||
props.index("WeightPos")
|
||||
except ValueError:
|
||||
# Compute mass aproximation
|
||||
from shipHydrostatics import Tools
|
||||
disp = Tools.Displacement(obj,obj.Draft,0.0)
|
||||
obj.addProperty("App::PropertyVectorList","WeightPos","Ship", str(Translator.translate("Ship Weights centers of gravity"))).WeightPos=[Vector(disp[2],0.0,obj.Draft)]
|
||||
# Setup list
|
||||
weights = []
|
||||
for i in range(0,len(obj.WeightNames)):
|
||||
weights.append([obj.WeightNames[i], obj.WeightMass[i], obj.WeightPos[i]])
|
||||
return weights
|
||||
|
|
|
@ -34,6 +34,9 @@ nobase_data_DATA = \
|
|||
Icons/ReparametrizeIco.xpm \
|
||||
Icons/Ship.xcf \
|
||||
Icons/Ship.xpm \
|
||||
Icons/Weight.png \
|
||||
Icons/Weight.xcf \
|
||||
Icons/Weight.xpm \
|
||||
Icons/Tank.png \
|
||||
Icons/Tank.xcf \
|
||||
Icons/Tank.xpm \
|
||||
|
@ -66,6 +69,9 @@ nobase_data_DATA = \
|
|||
shipUtils/Math.py \
|
||||
shipUtils/Paths.py \
|
||||
shipUtils/Translator.py \
|
||||
tankWeights/__init__.py \
|
||||
tankWeights/TaskPanel.py \
|
||||
tankWeights/TaskPanel.ui \
|
||||
tankCreateTank/__init__.py \
|
||||
tankCreateTank/TaskPanel.py \
|
||||
tankCreateTank/TaskPanel.ui
|
||||
|
|
|
@ -84,6 +84,18 @@ class Hydrostatics:
|
|||
ToolTip = str(Translator.translate('Plot ship hydrostatics'))
|
||||
return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip}
|
||||
|
||||
class SetWeights:
|
||||
def Activated(self):
|
||||
import tankWeights
|
||||
tankWeights.load()
|
||||
|
||||
def GetResources(self):
|
||||
from shipUtils import Paths, Translator
|
||||
IconPath = Paths.iconsPath() + "/Weight.png"
|
||||
MenuText = str(Translator.translate('Set ship weights'))
|
||||
ToolTip = str(Translator.translate('Set ship weights, tanks must be added later'))
|
||||
return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip}
|
||||
|
||||
class CreateTank:
|
||||
def Activated(self):
|
||||
import tankCreateTank
|
||||
|
@ -101,4 +113,5 @@ FreeCADGui.addCommand('Ship_CreateShip', CreateShip())
|
|||
FreeCADGui.addCommand('Ship_OutlineDraw', OutlineDraw())
|
||||
FreeCADGui.addCommand('Ship_AreasCurve', AreasCurve())
|
||||
FreeCADGui.addCommand('Ship_Hydrostatics', Hydrostatics())
|
||||
FreeCADGui.addCommand('Ship_Weights', SetWeights())
|
||||
FreeCADGui.addCommand('Ship_CreateTank', CreateTank())
|
||||
|
|
|
@ -116,7 +116,7 @@ def Displacement(ship, draft, trim):
|
|||
@param ship Selected ship instance
|
||||
@param draft Draft.
|
||||
@param trim Trim in degrees.
|
||||
@return [areas,disp,xcb]: \n
|
||||
@return [areas,disp,xcb,Cb]: \n
|
||||
areas : Area of each section \n
|
||||
disp: Ship displacement \n
|
||||
xcb: X bouyance center coordinate
|
||||
|
|
212
src/Mod/Ship/tankWeights/TaskPanel.py
Normal file
212
src/Mod/Ship/tankWeights/TaskPanel.py
Normal file
|
@ -0,0 +1,212 @@
|
|||
#***************************************************************************
|
||||
#* *
|
||||
#* Copyright (c) 2011, 2012 *
|
||||
#* Jose Luis Cercos Pita <jlcercos@gmail.com> *
|
||||
#* *
|
||||
#* This program is free software; you can redistribute it and/or modify *
|
||||
#* it under the terms of the GNU Lesser General Public License (LGPL) *
|
||||
#* as published by the Free Software Foundation; either version 2 of *
|
||||
#* the License, or (at your option) any later version. *
|
||||
#* for detail see the LICENCE text file. *
|
||||
#* *
|
||||
#* This program is distributed in the hope that it will be useful, *
|
||||
#* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
#* GNU Library General Public License for more details. *
|
||||
#* *
|
||||
#* You should have received a copy of the GNU Library General Public *
|
||||
#* License along with this program; if not, write to the Free Software *
|
||||
#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
|
||||
#* USA *
|
||||
#* *
|
||||
#***************************************************************************
|
||||
|
||||
# FreeCAD modules
|
||||
import FreeCAD as App
|
||||
import FreeCADGui as Gui
|
||||
# Qt library
|
||||
from PyQt4 import QtGui,QtCore
|
||||
# Module
|
||||
from Instance import *
|
||||
from shipUtils import Paths, Translator
|
||||
|
||||
class TaskPanel:
|
||||
def __init__(self):
|
||||
self.ui = Paths.modulePath() + "/tankWeights/TaskPanel.ui"
|
||||
self.ship = None
|
||||
|
||||
def accept(self):
|
||||
if not self.ship:
|
||||
return False
|
||||
# Setup lists
|
||||
name = []
|
||||
mass = []
|
||||
pos = []
|
||||
for i in range(0,self.form.weights.rowCount() - 1):
|
||||
item = self.form.weights.item(i,0)
|
||||
name.append(item.text().__str__())
|
||||
item = self.form.weights.item(i,1)
|
||||
mass.append(item.text().toFloat()[0])
|
||||
vec = []
|
||||
item = self.form.weights.item(i,2)
|
||||
vec.append(item.text().toFloat()[0])
|
||||
item = self.form.weights.item(i,3)
|
||||
vec.append(item.text().toFloat()[0])
|
||||
item = self.form.weights.item(i,4)
|
||||
vec.append(item.text().toFloat()[0])
|
||||
pos.append(App.Base.Vector(vec[0],vec[1],vec[2]))
|
||||
# Send to ship
|
||||
self.ship.WeightNames = name[:]
|
||||
self.ship.WeightMass = mass[:]
|
||||
self.ship.WeightPos = pos[:]
|
||||
return True
|
||||
|
||||
def reject(self):
|
||||
if not self.ship:
|
||||
return False
|
||||
return True
|
||||
|
||||
def clicked(self, index):
|
||||
pass
|
||||
|
||||
def open(self):
|
||||
pass
|
||||
|
||||
def needsFullSpace(self):
|
||||
return True
|
||||
|
||||
def isAllowedAlterSelection(self):
|
||||
return False
|
||||
|
||||
def isAllowedAlterView(self):
|
||||
return True
|
||||
|
||||
def isAllowedAlterDocument(self):
|
||||
return False
|
||||
|
||||
def helpRequested(self):
|
||||
pass
|
||||
|
||||
def setupUi(self):
|
||||
mw = self.getMainWindow()
|
||||
form = mw.findChild(QtGui.QWidget, "TaskPanel")
|
||||
form.weights = form.findChild(QtGui.QTableWidget, "Weights")
|
||||
self.form = form
|
||||
# Initial values
|
||||
if self.initValues():
|
||||
return True
|
||||
self.retranslateUi()
|
||||
# Connect Signals and Slots
|
||||
QtCore.QObject.connect(form.weights,QtCore.SIGNAL("cellChanged(int,int)"),self.onTableItem);
|
||||
|
||||
def getMainWindow(self):
|
||||
"returns the main window"
|
||||
# using QtGui.qApp.activeWindow() isn't very reliable because if another
|
||||
# widget than the mainwindow is active (e.g. a dialog) the wrong widget is
|
||||
# returned
|
||||
toplevel = QtGui.qApp.topLevelWidgets()
|
||||
for i in toplevel:
|
||||
if i.metaObject().className() == "Gui::MainWindow":
|
||||
return i
|
||||
raise Exception("No main window found")
|
||||
|
||||
def initValues(self):
|
||||
""" Get selected geometry.
|
||||
@return False if sucessfully values initialized.
|
||||
"""
|
||||
# Get selected objects
|
||||
selObjs = FreeCADGui.Selection.getSelection()
|
||||
if not selObjs:
|
||||
msg = Translator.translate("Ship instance must be selected (no object selected)\n")
|
||||
App.Console.PrintError(msg)
|
||||
return True
|
||||
for i in range(0,len(selObjs)):
|
||||
obj = selObjs[i]
|
||||
# Test if is a ship instance
|
||||
props = obj.PropertiesList
|
||||
try:
|
||||
props.index("IsShip")
|
||||
except ValueError:
|
||||
continue
|
||||
if obj.IsShip:
|
||||
# Test if another ship already selected
|
||||
if self.ship:
|
||||
msg = Translator.translate("More than one ship selected (extra ship will be neglected)\n")
|
||||
App.Console.PrintWarning(msg)
|
||||
break
|
||||
self.ship = obj
|
||||
# Test if any valid ship was selected
|
||||
if not self.ship:
|
||||
msg = Translator.translate("Ship instance must be selected (no valid ship found at selected objects)\n")
|
||||
App.Console.PrintError(msg)
|
||||
return True
|
||||
# Get weights
|
||||
w = weights(self.ship)
|
||||
# Set the items
|
||||
self.form.weights.setRowCount(len(w)+1)
|
||||
for i in range(0,len(w)):
|
||||
item = QtGui.QTableWidgetItem(w[i][0])
|
||||
self.form.weights.setItem(i,0,item)
|
||||
string = '%g' % (w[i][1])
|
||||
item = QtGui.QTableWidgetItem(string)
|
||||
self.form.weights.setItem(i,1,item)
|
||||
string = '%g' % (w[i][2].x)
|
||||
item = QtGui.QTableWidgetItem(string)
|
||||
self.form.weights.setItem(i,2,item)
|
||||
string = '%g' % (w[i][2].y)
|
||||
item = QtGui.QTableWidgetItem(string)
|
||||
self.form.weights.setItem(i,3,item)
|
||||
string = '%g' % (w[i][2].z)
|
||||
item = QtGui.QTableWidgetItem(string)
|
||||
self.form.weights.setItem(i,4,item)
|
||||
msg = Translator.translate("Ready to work\n")
|
||||
App.Console.PrintMessage(msg)
|
||||
return False
|
||||
|
||||
def retranslateUi(self):
|
||||
""" Set user interface locale strings.
|
||||
"""
|
||||
self.form.setWindowTitle(Translator.translate("Set weights"))
|
||||
labels = []
|
||||
labels.append(Translator.translate("Name"))
|
||||
labels.append(Translator.translate("Mass") + " [kg]")
|
||||
labels.append(QtCore.QString("g.x [m]"))
|
||||
labels.append(QtCore.QString("g.y [m]"))
|
||||
labels.append(QtCore.QString("g.z [m]"))
|
||||
self.form.weights.setHorizontalHeaderLabels(labels)
|
||||
|
||||
def onTableItem(self, row, column):
|
||||
""" Function called when an item of table is changed.
|
||||
@param row Changed item row
|
||||
@param column Changed item column
|
||||
"""
|
||||
item = self.form.weights.item(row,column)
|
||||
# Row deletion
|
||||
if column == 0:
|
||||
if not item.text():
|
||||
self.form.weights.removeRow(row)
|
||||
# Ensure that exist one empty item at the end
|
||||
nRow = self.form.weights.rowCount()
|
||||
last = self.form.weights.item(nRow-1,0)
|
||||
if last:
|
||||
if(last.text() != ''):
|
||||
self.form.weights.setRowCount(nRow+1)
|
||||
# Fields must be numbers
|
||||
for i in range(0,self.form.weights.rowCount()-1): # Avoid last row
|
||||
for j in range(1,self.form.weights.columnCount()): # Avoid name column
|
||||
item = self.form.weights.item(i,j)
|
||||
if not item:
|
||||
item = QtGui.QTableWidgetItem('0.0')
|
||||
self.form.weights.setItem(i,j,item)
|
||||
continue
|
||||
(number,flag) = item.text().toFloat()
|
||||
if not flag:
|
||||
item.setText('0.0')
|
||||
|
||||
def createTask():
|
||||
panel = TaskPanel()
|
||||
Gui.Control.showDialog(panel)
|
||||
if panel.setupUi():
|
||||
Gui.Control.closeDialog(panel)
|
||||
return None
|
||||
return panel
|
97
src/Mod/Ship/tankWeights/TaskPanel.ui
Normal file
97
src/Mod/Ship/tankWeights/TaskPanel.ui
Normal file
|
@ -0,0 +1,97 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TaskPanel</class>
|
||||
<widget class="QWidget" name="TaskPanel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>260</width>
|
||||
<height>256</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Set wieghts</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QTableWidget" name="Weights">
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="rowCount">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="columnCount">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderCascadingSectionResizes">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="horizontalHeaderMinimumSectionSize">
|
||||
<number>20</number>
|
||||
</attribute>
|
||||
<attribute name="horizontalHeaderStretchLastSection">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<row/>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Name</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Mass [kg]</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>g.x [m]</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>g.y [m]</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>g.z [m]</string>
|
||||
</property>
|
||||
</column>
|
||||
<item row="0" column="0">
|
||||
<property name="text">
|
||||
<string>Lightweight</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<property name="text">
|
||||
<string>0.0</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<property name="text">
|
||||
<string>0.0</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<property name="text">
|
||||
<string>0.0</string>
|
||||
</property>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<property name="text">
|
||||
<string>0.0</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
36
src/Mod/Ship/tankWeights/__init__.py
Normal file
36
src/Mod/Ship/tankWeights/__init__.py
Normal file
|
@ -0,0 +1,36 @@
|
|||
#***************************************************************************
|
||||
#* *
|
||||
#* Copyright (c) 2011, 2012 *
|
||||
#* Jose Luis Cercos Pita <jlcercos@gmail.com> *
|
||||
#* *
|
||||
#* This program is free software; you can redistribute it and/or modify *
|
||||
#* it under the terms of the GNU Lesser General Public License (LGPL) *
|
||||
#* as published by the Free Software Foundation; either version 2 of *
|
||||
#* the License, or (at your option) any later version. *
|
||||
#* for detail see the LICENCE text file. *
|
||||
#* *
|
||||
#* This program is distributed in the hope that it will be useful, *
|
||||
#* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
#* GNU Library General Public License for more details. *
|
||||
#* *
|
||||
#* You should have received a copy of the GNU Library General Public *
|
||||
#* License along with this program; if not, write to the Free Software *
|
||||
#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
|
||||
#* USA *
|
||||
#* *
|
||||
#***************************************************************************
|
||||
|
||||
# FreeCAD modules
|
||||
import FreeCAD
|
||||
import FreeCADGui
|
||||
|
||||
# Qt libraries
|
||||
from PyQt4 import QtGui,QtCore
|
||||
|
||||
# Main object
|
||||
import TaskPanel
|
||||
|
||||
def load():
|
||||
""" Loads the tool """
|
||||
TaskPanel.createTask()
|
Loading…
Reference in New Issue
Block a user