diff --git a/bitmaps_png/CMakeLists.txt b/bitmaps_png/CMakeLists.txt index 3e98564a76..d27cc21898 100644 --- a/bitmaps_png/CMakeLists.txt +++ b/bitmaps_png/CMakeLists.txt @@ -512,6 +512,12 @@ set( BMAPS_MID select_w_layer shape_3d sheetset + sim_run + sim_stop + sim_tune + sim_probe + sim_add_signal + sim_settings setcolor_3d_bg setcolor_silkscreen setcolor_soldermask diff --git a/bitmaps_png/cpp_26/sim_add_signal.cpp b/bitmaps_png/cpp_26/sim_add_signal.cpp new file mode 100644 index 0000000000..bc27be5e0a --- /dev/null +++ b/bitmaps_png/cpp_26/sim_add_signal.cpp @@ -0,0 +1,52 @@ + +/* Do not modify this file, it was automatically generated by the + * PNG2cpp CMake script, using a *.png file as input. + */ + +#include + +static const unsigned char png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, + 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c, + 0xce, 0x00, 0x00, 0x02, 0x31, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0x63, 0xf8, 0xff, 0xff, 0x3f, + 0x03, 0x3d, 0x30, 0xc3, 0xf0, 0xb5, 0x48, 0x53, 0x3c, 0x3f, 0x59, 0x43, 0xa2, 0x40, 0x81, 0xa6, + 0x16, 0xa9, 0x08, 0xe5, 0xf2, 0x69, 0x88, 0xe5, 0xbf, 0xd2, 0x10, 0xcb, 0x5b, 0x42, 0x53, 0x8b, + 0x34, 0x44, 0xf3, 0x5b, 0x81, 0x16, 0xfd, 0x07, 0xe2, 0x7f, 0x5a, 0xa2, 0xb9, 0x86, 0x34, 0xb1, + 0x88, 0x81, 0xa1, 0x81, 0x09, 0x68, 0x41, 0x1d, 0x10, 0x1f, 0x57, 0x17, 0x2b, 0x58, 0xa4, 0x21, + 0x56, 0x10, 0x44, 0xd3, 0x38, 0x52, 0x17, 0xcf, 0xef, 0xd0, 0x14, 0xcf, 0xb5, 0xa0, 0x79, 0x62, + 0x18, 0xf4, 0x16, 0x81, 0x83, 0x5e, 0xa4, 0x48, 0x4d, 0x5d, 0xa4, 0x8c, 0x57, 0x45, 0x25, 0x97, + 0x5d, 0x4d, 0xa2, 0xd0, 0x8c, 0x6a, 0x16, 0xa9, 0x8b, 0x16, 0x84, 0x40, 0x52, 0x6a, 0x9e, 0x95, + 0x86, 0x78, 0x41, 0x24, 0x84, 0x5d, 0xd0, 0xa0, 0x21, 0x5e, 0xa8, 0x0b, 0x32, 0x43, 0x43, 0x24, + 0xcf, 0x98, 0x2a, 0x16, 0x69, 0x8a, 0xe5, 0xbb, 0xaa, 0x89, 0xe6, 0xdb, 0x80, 0x30, 0x30, 0x01, + 0x35, 0x41, 0xf4, 0xe7, 0xe5, 0x2b, 0x28, 0x24, 0x70, 0x68, 0x8b, 0x66, 0x49, 0x68, 0x8a, 0xe5, + 0x95, 0x51, 0xc5, 0x22, 0x20, 0x60, 0x04, 0xa5, 0x50, 0x63, 0xa9, 0x34, 0x2e, 0xa0, 0xaf, 0xea, + 0xc1, 0x96, 0x8b, 0x16, 0x64, 0xab, 0x8b, 0xe7, 0x28, 0xea, 0x48, 0x15, 0xc9, 0x82, 0x7c, 0x4c, + 0xb5, 0x38, 0xd2, 0x11, 0xcb, 0x17, 0x07, 0xd1, 0xda, 0xa2, 0x05, 0x06, 0xa0, 0x38, 0x32, 0x10, + 0x28, 0x10, 0x00, 0x59, 0x02, 0xf2, 0xa5, 0x92, 0x60, 0x39, 0x3f, 0x5e, 0x8b, 0x80, 0x79, 0xa9, + 0x18, 0x84, 0x65, 0x64, 0x0a, 0x39, 0x61, 0xe2, 0xa0, 0xe0, 0x30, 0x66, 0x48, 0x63, 0x45, 0xd7, + 0x08, 0x8a, 0x78, 0x18, 0x5b, 0x5b, 0x2a, 0x5f, 0x0e, 0xe2, 0x53, 0x07, 0x16, 0x60, 0xd0, 0xf1, + 0xe0, 0x4b, 0x0c, 0xd6, 0x65, 0xb9, 0x4b, 0x56, 0x03, 0x2d, 0x79, 0x03, 0x2e, 0x21, 0x44, 0xf3, + 0x97, 0x83, 0x83, 0x43, 0xa4, 0x40, 0x12, 0xc8, 0x3e, 0x05, 0x8c, 0xe8, 0x07, 0xda, 0x12, 0xb9, + 0x5a, 0x60, 0x0b, 0x24, 0x72, 0x45, 0x81, 0x6a, 0x96, 0xaa, 0x8b, 0xe5, 0xbf, 0xd7, 0x10, 0xcf, + 0x4b, 0x03, 0x89, 0xe9, 0xf2, 0x67, 0x0a, 0x42, 0xd4, 0xe5, 0xff, 0xd0, 0x14, 0x2f, 0x74, 0xc1, + 0x67, 0x51, 0xd3, 0xd2, 0x79, 0x87, 0x5f, 0x03, 0x15, 0xfe, 0x04, 0x1a, 0x30, 0x15, 0x64, 0x19, + 0x30, 0x0e, 0xa2, 0x81, 0xf4, 0x3d, 0xb0, 0x81, 0x62, 0xf9, 0x6f, 0x81, 0x78, 0x8d, 0xba, 0x78, + 0x81, 0x13, 0xd4, 0x31, 0x5f, 0x35, 0xc4, 0xf3, 0xcf, 0x00, 0xe9, 0x6f, 0x5a, 0xe2, 0xf9, 0xe6, + 0x30, 0xb6, 0xa6, 0x68, 0xfe, 0x35, 0x20, 0xfd, 0x41, 0x53, 0x34, 0x4f, 0x15, 0xab, 0x45, 0x7f, + 0xff, 0xfe, 0x6f, 0x5e, 0xbe, 0xe0, 0xc8, 0x0b, 0xa0, 0x0b, 0x27, 0x39, 0x30, 0x34, 0xb0, 0x00, + 0x15, 0x5f, 0x02, 0xfb, 0x4c, 0x3c, 0xff, 0x9d, 0x9a, 0x58, 0xae, 0x3e, 0x30, 0xc2, 0x4b, 0xa0, + 0x65, 0xe1, 0x6f, 0x20, 0xbe, 0x0c, 0x8a, 0x74, 0x50, 0x70, 0x81, 0x7c, 0x00, 0x53, 0xa7, 0x25, + 0x9e, 0xe7, 0x0c, 0x0e, 0x01, 0xb1, 0x82, 0x6e, 0x6c, 0x41, 0x0d, 0x63, 0xc4, 0xcf, 0x9d, 0xba, + 0x6f, 0x3b, 0x2c, 0x31, 0x80, 0xaa, 0x0b, 0x70, 0x9c, 0x41, 0xf3, 0x83, 0xb6, 0x76, 0x03, 0x1b, + 0x30, 0x49, 0x4f, 0x07, 0xe2, 0x69, 0xa0, 0x8c, 0x89, 0xc8, 0x4f, 0x79, 0x1e, 0xa0, 0x02, 0x19, + 0x64, 0xf1, 0xf0, 0x2e, 0xeb, 0x40, 0x25, 0x05, 0x5d, 0x2c, 0x02, 0xa5, 0x52, 0x60, 0xc2, 0x28, + 0x07, 0x65, 0x0d, 0x5c, 0xf9, 0xe8, 0x38, 0x10, 0xef, 0xa0, 0x02, 0xfe, 0x0d, 0x4e, 0xb9, 0xa2, + 0xf9, 0x8f, 0x34, 0xc5, 0xf3, 0x74, 0x50, 0x2c, 0x02, 0xa5, 0x36, 0x90, 0x0b, 0xa8, 0x81, 0x41, + 0x49, 0x1c, 0x94, 0xaf, 0x80, 0xbe, 0xb2, 0xa3, 0x69, 0x2b, 0x48, 0x53, 0xac, 0x20, 0x00, 0x54, + 0x1e, 0x0e, 0x48, 0x73, 0x0b, 0x00, 0x1a, 0x04, 0x6e, 0x5e, 0xc4, 0x63, 0x0b, 0x12, 0x00, 0x00, + 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, +}; + +const BITMAP_OPAQUE sim_add_signal_xpm[1] = {{ png, sizeof( png ), "sim_add_signal_xpm" }}; + +//EOF diff --git a/bitmaps_png/cpp_26/sim_probe.cpp b/bitmaps_png/cpp_26/sim_probe.cpp new file mode 100644 index 0000000000..c5600c8ee7 --- /dev/null +++ b/bitmaps_png/cpp_26/sim_probe.cpp @@ -0,0 +1,58 @@ + +/* Do not modify this file, it was automatically generated by the + * PNG2cpp CMake script, using a *.png file as input. + */ + +#include + +static const unsigned char png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, + 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c, + 0xce, 0x00, 0x00, 0x02, 0x96, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xb5, 0x96, 0xcd, 0x6b, 0x13, + 0x41, 0x18, 0xc6, 0xd7, 0x4f, 0xaa, 0x48, 0x09, 0x69, 0x66, 0x66, 0x5d, 0xa3, 0x46, 0x12, 0xb2, + 0xb3, 0xd9, 0xa2, 0x42, 0x0f, 0x45, 0x2d, 0xb4, 0xe0, 0x45, 0x10, 0x24, 0x1e, 0xc4, 0xab, 0xa8, + 0xf4, 0x90, 0x76, 0x77, 0x26, 0x49, 0x55, 0x44, 0x0f, 0xf1, 0xa2, 0x28, 0xe8, 0xcd, 0x93, 0x50, + 0x0f, 0x8a, 0x8a, 0x5a, 0x15, 0x05, 0xbd, 0x09, 0xfe, 0x01, 0x7a, 0xf0, 0x20, 0x88, 0x78, 0x53, + 0x14, 0x0f, 0x5a, 0xbc, 0x28, 0x55, 0x59, 0x9f, 0xa9, 0xa6, 0xdd, 0xd9, 0x24, 0xed, 0x36, 0x4d, + 0x0e, 0x7b, 0xd8, 0x61, 0xf6, 0xfd, 0xbd, 0xef, 0xf3, 0x7e, 0xad, 0x11, 0x04, 0x81, 0xd1, 0x8d, + 0xc7, 0x30, 0x6a, 0x2b, 0xb5, 0xf7, 0x4e, 0x03, 0x38, 0x95, 0x15, 0x87, 0xca, 0x47, 0x0e, 0x15, + 0x4f, 0x39, 0xf5, 0x2f, 0x0f, 0x58, 0xa3, 0xeb, 0x3b, 0x0a, 0x72, 0x89, 0xbf, 0xcf, 0x66, 0xe2, + 0x8d, 0x43, 0xfc, 0xb1, 0xfa, 0x99, 0x4d, 0xc5, 0x09, 0x9e, 0xf2, 0x86, 0x3b, 0x02, 0x72, 0x88, + 0x38, 0xec, 0xf4, 0x8d, 0x17, 0x39, 0x11, 0x5f, 0x39, 0x15, 0x0f, 0xb4, 0xe8, 0x4c, 0x39, 0x82, + 0xc8, 0x4a, 0xcb, 0x06, 0x71, 0x26, 0x4f, 0xc3, 0x78, 0x00, 0xb9, 0x7e, 0x01, 0xf4, 0xb9, 0x9f, + 0x0a, 0xa6, 0xcb, 0x28, 0xaa, 0x05, 0xe6, 0xef, 0x5d, 0x16, 0x28, 0x4f, 0x65, 0x11, 0x86, 0x66, + 0xfe, 0x81, 0x66, 0x9f, 0x9f, 0x59, 0x52, 0xca, 0xcd, 0x49, 0xe9, 0xd6, 0xd6, 0xe2, 0xec, 0x19, + 0xaa, 0x62, 0x45, 0xdb, 0x20, 0x78, 0xbe, 0x1d, 0xfa, 0x7f, 0x09, 0x41, 0x02, 0x9b, 0xc8, 0x6b, + 0x7a, 0xb4, 0xfe, 0x79, 0x1b, 0x79, 0x6b, 0xbb, 0xea, 0xf2, 0x56, 0x35, 0x05, 0xc3, 0xaf, 0xc3, + 0x10, 0xce, 0xc4, 0xf3, 0x4c, 0xa6, 0xd6, 0x13, 0xaa, 0xbc, 0x5d, 0x70, 0xe4, 0x6a, 0xdb, 0xe5, + 0xad, 0x7a, 0x03, 0xb9, 0x78, 0x12, 0x86, 0xa0, 0x94, 0xdf, 0x65, 0x93, 0x95, 0xcd, 0xf5, 0x3b, + 0x39, 0xd3, 0x23, 0xea, 0x4e, 0x3a, 0x5d, 0x5e, 0xd7, 0x36, 0x48, 0xf5, 0x85, 0x26, 0x17, 0x15, + 0xd3, 0x9c, 0x56, 0x76, 0xcf, 0x3b, 0x72, 0x68, 0x15, 0xce, 0xef, 0xe7, 0xa8, 0x97, 0x6d, 0x70, + 0x32, 0x2e, 0xa4, 0x40, 0xe4, 0x51, 0x18, 0xf9, 0x13, 0x02, 0xfd, 0xe6, 0x44, 0x1e, 0xd1, 0xf3, + 0x22, 0x2e, 0x38, 0x29, 0xb9, 0xbf, 0xa9, 0x1a, 0xb1, 0xf2, 0x42, 0xc4, 0x10, 0x0c, 0x7f, 0xd7, + 0xa3, 0x91, 0x17, 0xb5, 0x7e, 0xa2, 0xfe, 0x41, 0x9c, 0x9f, 0x6b, 0x29, 0xfb, 0xa2, 0x0d, 0x99, + 0xa8, 0x6e, 0x45, 0x72, 0xdf, 0x47, 0x24, 0x7b, 0xa8, 0x64, 0x9a, 0x9f, 0x0a, 0x25, 0x13, 0xe7, + 0x53, 0xd1, 0xf9, 0x16, 0x1b, 0xa4, 0x12, 0x0a, 0x03, 0x2f, 0xb4, 0x0a, 0xa3, 0xe2, 0x15, 0xdf, + 0x34, 0xd6, 0x17, 0xc9, 0xdd, 0x4d, 0x97, 0x94, 0x73, 0x0b, 0x16, 0xd2, 0xc2, 0xc9, 0x17, 0xd7, + 0x23, 0x90, 0x4f, 0x0e, 0xf3, 0xfb, 0xb5, 0x88, 0x91, 0x13, 0x8c, 0xa1, 0x53, 0x8b, 0x56, 0x6c, + 0x4b, 0xc9, 0xa8, 0x7f, 0x32, 0x02, 0xf9, 0x61, 0xb3, 0xca, 0x81, 0xe8, 0x3d, 0x9b, 0x88, 0x3b, + 0x90, 0x6e, 0xc3, 0x92, 0x40, 0x83, 0x49, 0xaf, 0x17, 0xf9, 0x98, 0x82, 0xd1, 0x97, 0xca, 0xb0, + 0xd6, 0x2f, 0xc4, 0x6b, 0xf0, 0x3a, 0xcb, 0x26, 0x28, 0x2a, 0x6d, 0x32, 0x56, 0x0f, 0x86, 0x5f, + 0x76, 0x66, 0x64, 0x22, 0x34, 0x5a, 0x66, 0x42, 0x9d, 0x3f, 0xd9, 0x7c, 0xde, 0x79, 0x3b, 0xe2, + 0xc8, 0xd6, 0x08, 0x4a, 0x00, 0x44, 0xc4, 0x07, 0x4d, 0x32, 0xe2, 0x7f, 0xdc, 0x46, 0x8f, 0xb3, + 0xa6, 0x39, 0x34, 0x65, 0x06, 0x6b, 0xe0, 0xd2, 0x92, 0x41, 0x58, 0x5c, 0x67, 0x23, 0x79, 0xa9, + 0xc3, 0xbc, 0x66, 0x1f, 0x8f, 0x18, 0xb5, 0xd5, 0x6a, 0xdc, 0xb8, 0x96, 0xd8, 0x12, 0x1b, 0xe4, + 0xf6, 0x96, 0x93, 0xaa, 0xaa, 0x42, 0x0d, 0x39, 0xad, 0xc0, 0x6a, 0x1d, 0xb8, 0xe9, 0x63, 0xc9, + 0x96, 0x45, 0x93, 0x92, 0x1b, 0xe1, 0xc8, 0x63, 0xd7, 0xf4, 0x0a, 0xb1, 0x40, 0x03, 0xc6, 0xe8, + 0x1a, 0xb5, 0x8a, 0x01, 0xc1, 0x12, 0xf3, 0xdf, 0x02, 0xb4, 0x27, 0xf6, 0x1a, 0x47, 0x44, 0x6a, + 0x5a, 0x43, 0xc6, 0x1b, 0x05, 0x26, 0x06, 0xc3, 0xcd, 0xdc, 0x00, 0x42, 0xc2, 0xaf, 0xa8, 0x49, + 0xac, 0x76, 0x88, 0xf2, 0xb2, 0x9d, 0x3d, 0x65, 0xa7, 0xc6, 0x2d, 0x9b, 0xc9, 0x33, 0x68, 0xe0, + 0x7b, 0x0e, 0x13, 0x77, 0x21, 0xeb, 0x6d, 0x35, 0x9a, 0xe6, 0x40, 0x00, 0x14, 0x11, 0xc1, 0xb7, + 0x3c, 0xa9, 0x0e, 0x75, 0xed, 0xf7, 0xeb, 0xff, 0xa2, 0xba, 0xc5, 0xcd, 0xf2, 0x70, 0xb7, 0x20, + 0xb3, 0x20, 0x0b, 0xff, 0x5d, 0xd1, 0xd9, 0xd5, 0x8d, 0xe7, 0x2f, 0xdd, 0xe9, 0x8f, 0x4f, 0x15, + 0x70, 0x65, 0x93, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, +}; + +const BITMAP_OPAQUE sim_probe_xpm[1] = {{ png, sizeof( png ), "sim_probe_xpm" }}; + +//EOF diff --git a/bitmaps_png/cpp_26/sim_run.cpp b/bitmaps_png/cpp_26/sim_run.cpp new file mode 100644 index 0000000000..ebd4a7bc87 --- /dev/null +++ b/bitmaps_png/cpp_26/sim_run.cpp @@ -0,0 +1,39 @@ + +/* Do not modify this file, it was automatically generated by the + * PNG2cpp CMake script, using a *.png file as input. + */ + +#include + +static const unsigned char png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, + 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c, + 0xce, 0x00, 0x00, 0x01, 0x62, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0x63, 0xf8, 0xff, 0xff, 0x3f, + 0x03, 0x08, 0x33, 0x4c, 0xb3, 0x11, 0x84, 0xb1, 0x69, 0x81, 0x11, 0x8c, 0x89, 0x76, 0xed, 0x0c, + 0x93, 0xed, 0xd7, 0x31, 0x4c, 0xb6, 0x53, 0xa4, 0xad, 0x45, 0x93, 0xed, 0xdb, 0x18, 0x26, 0xd9, + 0xff, 0x07, 0xe2, 0x1f, 0x40, 0xdc, 0xca, 0xd0, 0xed, 0xc6, 0x4d, 0x6b, 0x8b, 0x20, 0x78, 0xb2, + 0xfd, 0x13, 0x86, 0x49, 0x76, 0xd1, 0x0c, 0xff, 0x19, 0x18, 0xa9, 0x6b, 0x11, 0xc8, 0x17, 0xc8, + 0x16, 0x21, 0xf0, 0x51, 0x86, 0xc9, 0x0e, 0x26, 0x54, 0xf4, 0x91, 0x43, 0x0b, 0x0e, 0x8b, 0x40, + 0xf8, 0x1f, 0x10, 0xcf, 0x65, 0x98, 0xe0, 0x2c, 0x4e, 0x6b, 0x8b, 0x60, 0xf8, 0x23, 0x30, 0x38, + 0x8b, 0x19, 0x66, 0x1a, 0xb3, 0x52, 0x10, 0x74, 0x76, 0xcd, 0x44, 0x58, 0x04, 0xc3, 0x37, 0x81, + 0xa9, 0xd4, 0x8b, 0xcc, 0xe4, 0x6d, 0xdf, 0x44, 0x82, 0x45, 0xb0, 0x04, 0xb3, 0x95, 0x61, 0x8a, + 0x8d, 0x1a, 0xed, 0x2d, 0x82, 0xe0, 0x5f, 0x0c, 0x93, 0x1c, 0x7a, 0x18, 0x26, 0x99, 0xf3, 0x11, + 0x9b, 0xea, 0x1a, 0xc9, 0xb4, 0x08, 0x86, 0x5f, 0x00, 0x83, 0x3f, 0x09, 0x57, 0x76, 0xa0, 0xa6, + 0x45, 0x30, 0x7c, 0x06, 0x18, 0x7f, 0x56, 0x78, 0x82, 0xce, 0xa1, 0x81, 0x4a, 0x16, 0x41, 0xb1, + 0xc3, 0x12, 0x86, 0x3e, 0x27, 0x69, 0x2c, 0xc9, 0xdb, 0xae, 0x9e, 0xba, 0x16, 0xd9, 0x3f, 0x07, + 0xfa, 0x2c, 0x8c, 0x96, 0x16, 0xfd, 0x04, 0xfa, 0xa6, 0x83, 0xa1, 0xd3, 0x9a, 0x17, 0x57, 0x1c, + 0xd5, 0x51, 0xc1, 0x92, 0x8d, 0x0c, 0x93, 0x9c, 0x94, 0x09, 0x15, 0xaa, 0xb5, 0x14, 0x58, 0x70, + 0x95, 0x61, 0x8a, 0xbd, 0x2b, 0xb1, 0xa5, 0x37, 0x39, 0x16, 0xbd, 0x03, 0xe2, 0x3c, 0x86, 0x06, + 0x07, 0x16, 0x12, 0x8a, 0x20, 0x87, 0x1a, 0x12, 0x2c, 0xf8, 0x03, 0x8c, 0xe8, 0xe9, 0x0c, 0x3d, + 0x0e, 0x22, 0xe4, 0xd4, 0xb0, 0xd5, 0x44, 0x5a, 0xb2, 0x9f, 0x61, 0x92, 0xa3, 0x3e, 0x25, 0x55, + 0x39, 0x21, 0x8b, 0x1e, 0x00, 0x7d, 0x1d, 0x42, 0x8d, 0x8a, 0xaf, 0x0a, 0x87, 0x05, 0x5f, 0xc1, + 0xf1, 0x37, 0xdf, 0x81, 0x83, 0x4a, 0x8d, 0x13, 0xfb, 0x4a, 0x2c, 0x96, 0x2c, 0x03, 0xfa, 0x42, + 0x86, 0xca, 0xad, 0x20, 0x14, 0x8b, 0xce, 0x32, 0x4c, 0x76, 0xb4, 0xa6, 0x51, 0xe3, 0xc4, 0xa1, + 0x02, 0x68, 0xc1, 0x4b, 0x60, 0x09, 0x91, 0xcc, 0xd0, 0xc0, 0xc0, 0x44, 0xbb, 0xe6, 0x16, 0x30, + 0x25, 0x11, 0xaa, 0x53, 0x28, 0xc1, 0x00, 0xfb, 0x3a, 0x4b, 0x39, 0x99, 0xc1, 0x7b, 0x69, 0x00, + 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, +}; + +const BITMAP_OPAQUE sim_run_xpm[1] = {{ png, sizeof( png ), "sim_run_xpm" }}; + +//EOF diff --git a/bitmaps_png/cpp_26/sim_settings.cpp b/bitmaps_png/cpp_26/sim_settings.cpp new file mode 100644 index 0000000000..f34a624628 --- /dev/null +++ b/bitmaps_png/cpp_26/sim_settings.cpp @@ -0,0 +1,40 @@ + +/* Do not modify this file, it was automatically generated by the + * PNG2cpp CMake script, using a *.png file as input. + */ + +#include + +static const unsigned char png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, + 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c, + 0xce, 0x00, 0x00, 0x01, 0x6e, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xd5, 0x96, 0x3d, 0x4b, 0x03, + 0x41, 0x10, 0x40, 0x4f, 0x11, 0x0c, 0x48, 0x30, 0x3f, 0x41, 0x10, 0x5b, 0x05, 0x6d, 0x2c, 0xc4, + 0x88, 0x4d, 0x1a, 0xd3, 0x88, 0x8a, 0x90, 0x46, 0x4b, 0x89, 0x16, 0x16, 0x62, 0xa1, 0xf8, 0x0b, + 0xa2, 0x95, 0x42, 0x50, 0xc8, 0x5f, 0xb0, 0x52, 0xac, 0x04, 0xc5, 0xca, 0xc2, 0x54, 0x5a, 0x58, + 0x89, 0xa0, 0xad, 0x85, 0x9d, 0x5f, 0xe7, 0x5b, 0xd8, 0x83, 0x65, 0x99, 0xdb, 0xec, 0xe6, 0x8c, + 0xe8, 0xc0, 0x2b, 0x96, 0xec, 0xdc, 0x5b, 0x36, 0x33, 0x73, 0x17, 0xc5, 0x71, 0x1c, 0xfd, 0x06, + 0xd1, 0x9f, 0x13, 0x11, 0xdd, 0xb0, 0x64, 0x50, 0xee, 0x94, 0x68, 0x10, 0x62, 0x83, 0xc7, 0x1f, + 0x11, 0x11, 0xf3, 0x30, 0x6e, 0xac, 0xcb, 0x96, 0xe8, 0x03, 0x7a, 0xf4, 0x6f, 0x5d, 0xb0, 0x0a, + 0x03, 0x41, 0x22, 0xa2, 0xa2, 0x1f, 0xf4, 0x06, 0xdb, 0xb0, 0x0b, 0x2f, 0x96, 0x48, 0x71, 0x07, + 0x55, 0x38, 0xd1, 0xeb, 0x87, 0x34, 0x99, 0x4b, 0x12, 0xb7, 0x89, 0x28, 0x93, 0x44, 0x47, 0x19, + 0x24, 0xc9, 0x95, 0x16, 0x7d, 0x44, 0x79, 0x7d, 0xaa, 0x76, 0x45, 0x3b, 0x21, 0xff, 0xd1, 0x8d, + 0xf0, 0x80, 0x27, 0x58, 0x81, 0x51, 0x98, 0x86, 0x1a, 0xbc, 0x0b, 0xfb, 0x16, 0x5a, 0x8a, 0x88, + 0x1c, 0xcc, 0x08, 0xc9, 0xf7, 0x50, 0x10, 0x0e, 0x54, 0x84, 0x4f, 0x6b, 0xef, 0x15, 0xf4, 0xa7, + 0x8a, 0x88, 0x3d, 0xc7, 0x75, 0x94, 0x1c, 0x6d, 0xd0, 0x48, 0xc9, 0x79, 0x86, 0x31, 0x49, 0x54, + 0x4f, 0x49, 0x50, 0x27, 0xee, 0x73, 0x88, 0x2a, 0x8e, 0x03, 0x4e, 0x85, 0x88, 0x54, 0x15, 0xe5, + 0x1c, 0xa2, 0xc5, 0x50, 0x51, 0xcd, 0x91, 0x30, 0xe9, 0x10, 0xed, 0x07, 0x89, 0x8c, 0xd2, 0x2e, + 0xc1, 0x97, 0x95, 0xd0, 0x84, 0x5e, 0x41, 0x32, 0xa2, 0xa7, 0x87, 0x2d, 0x58, 0x87, 0x21, 0x35, + 0x9a, 0x5a, 0x95, 0xf7, 0x99, 0x90, 0x7c, 0x0b, 0xb3, 0xaa, 0xeb, 0x61, 0x18, 0x36, 0xe0, 0x55, + 0xda, 0xe7, 0x3b, 0x82, 0xd4, 0x80, 0x3c, 0xcf, 0xd0, 0xb0, 0x97, 0xea, 0x95, 0xe2, 0x23, 0xaa, + 0x66, 0x1c, 0x41, 0x8a, 0x2d, 0x1f, 0xd1, 0x5c, 0x4a, 0xc7, 0x87, 0x70, 0xe8, 0x3b, 0x82, 0x4c, + 0xd9, 0x05, 0x9c, 0x0a, 0x05, 0x92, 0x70, 0x0d, 0xc7, 0xc6, 0xba, 0xe1, 0x75, 0x75, 0x96, 0x6c, + 0x2d, 0xa9, 0x1c, 0x5d, 0x8d, 0xb6, 0x64, 0xd3, 0xd8, 0xbf, 0x0c, 0x07, 0x92, 0x24, 0xf4, 0x55, + 0x9e, 0x17, 0x44, 0x13, 0x1d, 0xf9, 0x0a, 0xd2, 0x4d, 0x5d, 0x37, 0x28, 0xfc, 0xdf, 0xcf, 0xad, + 0xac, 0x7c, 0x03, 0x01, 0x1d, 0x36, 0xf5, 0x73, 0x3f, 0xe1, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x49, + 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, +}; + +const BITMAP_OPAQUE sim_settings_xpm[1] = {{ png, sizeof( png ), "sim_settings_xpm" }}; + +//EOF diff --git a/bitmaps_png/cpp_26/sim_stop.cpp b/bitmaps_png/cpp_26/sim_stop.cpp new file mode 100644 index 0000000000..bf363abc76 --- /dev/null +++ b/bitmaps_png/cpp_26/sim_stop.cpp @@ -0,0 +1,23 @@ + +/* Do not modify this file, it was automatically generated by the + * PNG2cpp CMake script, using a *.png file as input. + */ + +#include + +static const unsigned char png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, + 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c, + 0xce, 0x00, 0x00, 0x00, 0x5a, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0x63, 0xf8, 0xff, 0xff, 0x3f, + 0x03, 0x3d, 0x30, 0xc3, 0xf0, 0xb5, 0xe8, 0x8c, 0xb1, 0x31, 0xeb, 0x2d, 0x55, 0xd9, 0x65, 0x40, + 0xbc, 0x94, 0x1a, 0xf8, 0xb6, 0x8a, 0x6c, 0x2b, 0x56, 0x8b, 0xee, 0x2b, 0x28, 0x70, 0x00, 0x15, + 0xfc, 0x04, 0xe2, 0xff, 0x54, 0xc2, 0x07, 0x47, 0x2d, 0x1a, 0xb5, 0x68, 0xd4, 0xa2, 0x51, 0x8b, + 0x46, 0x2d, 0x1a, 0xb5, 0x68, 0xd4, 0xa2, 0xdb, 0x2a, 0x2a, 0xec, 0x40, 0xc9, 0x2b, 0xb7, 0x54, + 0xe5, 0xae, 0x51, 0x03, 0xdf, 0x54, 0x93, 0x5d, 0x39, 0x42, 0x5a, 0x41, 0xb4, 0xc6, 0x00, 0xc9, + 0x67, 0x4f, 0x6a, 0x0a, 0x58, 0xfb, 0xec, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, + 0x42, 0x60, 0x82, +}; + +const BITMAP_OPAQUE sim_stop_xpm[1] = {{ png, sizeof( png ), "sim_stop_xpm" }}; + +//EOF diff --git a/bitmaps_png/cpp_26/sim_tune.cpp b/bitmaps_png/cpp_26/sim_tune.cpp new file mode 100644 index 0000000000..5c3c4d368c --- /dev/null +++ b/bitmaps_png/cpp_26/sim_tune.cpp @@ -0,0 +1,44 @@ + +/* Do not modify this file, it was automatically generated by the + * PNG2cpp CMake script, using a *.png file as input. + */ + +#include + +static const unsigned char png[] = { + 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, + 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c, + 0xce, 0x00, 0x00, 0x01, 0xad, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0x63, 0xf8, 0xff, 0xff, 0x3f, + 0x03, 0x3d, 0x30, 0x4d, 0x0d, 0x57, 0x13, 0x2e, 0x94, 0xa6, 0xa9, 0x45, 0x1a, 0x22, 0x45, 0x6a, + 0x1a, 0x62, 0x79, 0xbb, 0x35, 0xc4, 0xf2, 0xbf, 0x6b, 0x89, 0xe7, 0x9b, 0xd3, 0xc4, 0x22, 0x35, + 0x89, 0x7c, 0x53, 0xa0, 0x05, 0x5f, 0x80, 0xf8, 0xbf, 0xba, 0x58, 0xfe, 0x7b, 0x15, 0x89, 0x5c, + 0x51, 0xaa, 0x5b, 0x64, 0x20, 0x50, 0x20, 0x00, 0xb4, 0xe0, 0x32, 0xc8, 0x12, 0x10, 0xd6, 0x14, + 0x2d, 0xc8, 0xa6, 0x7a, 0xd0, 0x69, 0x8b, 0x66, 0xf1, 0x00, 0x0d, 0x3f, 0x0e, 0xb5, 0xe4, 0x27, + 0x30, 0xe8, 0xea, 0xa9, 0x9e, 0x18, 0x64, 0x64, 0x0a, 0x39, 0x35, 0xc4, 0x0b, 0x0e, 0x40, 0x2d, + 0xf9, 0xaa, 0x29, 0x5e, 0xe8, 0x42, 0xf5, 0x54, 0xa7, 0xa2, 0x92, 0xcb, 0xae, 0x21, 0x56, 0xb0, + 0x13, 0x6a, 0xc9, 0x27, 0x2d, 0xd1, 0x42, 0x5b, 0xaa, 0x27, 0x6f, 0x63, 0x86, 0x34, 0x56, 0xa0, + 0xe1, 0x1b, 0xc1, 0x96, 0x88, 0xe7, 0xbf, 0x53, 0x93, 0x28, 0x34, 0xa3, 0x7a, 0x3e, 0x62, 0x60, + 0x08, 0x65, 0xd6, 0x14, 0x2f, 0x58, 0x09, 0xf5, 0xc9, 0x2b, 0x6d, 0xd1, 0x02, 0x03, 0xaa, 0x67, + 0x58, 0x20, 0x60, 0x04, 0x1a, 0xbe, 0x10, 0x6a, 0xc9, 0x33, 0x6d, 0x89, 0x5c, 0x2d, 0x9a, 0x94, + 0x0c, 0x40, 0xc3, 0x67, 0x40, 0x2d, 0x79, 0xa8, 0x2d, 0x5a, 0xa8, 0x42, 0x93, 0x22, 0x48, 0x5d, + 0x34, 0xbf, 0x1f, 0x9c, 0x47, 0xc4, 0xf2, 0xef, 0x68, 0x4a, 0x66, 0xcb, 0x53, 0xad, 0xac, 0xd3, + 0x10, 0xcd, 0xcf, 0x01, 0xa6, 0xaa, 0x6e, 0x07, 0x86, 0x06, 0x16, 0x6d, 0x99, 0x42, 0x21, 0xa0, + 0x25, 0xb7, 0x80, 0x11, 0x7f, 0x5d, 0x5d, 0x24, 0x47, 0x8a, 0xaa, 0x85, 0x2a, 0x3c, 0xe9, 0x8a, + 0xe6, 0xef, 0x03, 0x59, 0x04, 0xf2, 0x85, 0xb2, 0x78, 0x89, 0x18, 0x55, 0x4b, 0x6f, 0x4d, 0x91, + 0x02, 0x23, 0xa0, 0x25, 0xcf, 0x61, 0x45, 0x0a, 0x10, 0x1f, 0x03, 0xe5, 0x1b, 0xaa, 0x55, 0x13, + 0x6a, 0x52, 0xc5, 0x22, 0xc0, 0x38, 0x98, 0x0e, 0x34, 0xf8, 0x2f, 0x92, 0x25, 0x90, 0xf2, 0x4b, + 0x3c, 0x6f, 0x2e, 0x55, 0x2c, 0x02, 0x5a, 0x10, 0x07, 0x34, 0xf0, 0x03, 0xba, 0x05, 0x50, 0xfc, + 0x16, 0x58, 0x22, 0xef, 0xa1, 0xd8, 0x22, 0xa0, 0x41, 0xe9, 0x40, 0xfc, 0x0f, 0x87, 0x25, 0x75, + 0x54, 0xa9, 0x61, 0x81, 0xa5, 0xaf, 0x04, 0xac, 0x1e, 0xc1, 0xc4, 0x05, 0x0f, 0x40, 0x05, 0x27, + 0x55, 0x2c, 0x42, 0xca, 0x84, 0x18, 0x18, 0x98, 0x77, 0x42, 0xa9, 0xd2, 0x66, 0x50, 0x13, 0xce, + 0xd1, 0x00, 0x1a, 0xf8, 0x1b, 0xab, 0x45, 0xe2, 0xf9, 0x5b, 0xa8, 0xd6, 0x38, 0x01, 0x26, 0x80, + 0xc5, 0x38, 0x7c, 0x73, 0x50, 0x4f, 0xbc, 0x84, 0x9b, 0x6a, 0x16, 0x21, 0xd5, 0x8c, 0x30, 0x7c, + 0x0f, 0xe8, 0x93, 0x28, 0x50, 0xe1, 0x49, 0xd5, 0xe6, 0x96, 0x86, 0x68, 0x41, 0x02, 0xa8, 0xd2, + 0x02, 0xc6, 0xc5, 0x23, 0x75, 0xf1, 0xbc, 0x7c, 0x6d, 0xed, 0x06, 0xb6, 0x21, 0xd5, 0xae, 0x43, + 0xc6, 0x00, 0xc1, 0x11, 0xfb, 0x4d, 0x3d, 0x78, 0x20, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, + 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, +}; + +const BITMAP_OPAQUE sim_tune_xpm[1] = {{ png, sizeof( png ), "sim_tune_xpm" }}; + +//EOF diff --git a/bitmaps_png/sources/sim_add_signal.svg b/bitmaps_png/sources/sim_add_signal.svg new file mode 100644 index 0000000000..94ba6db4c1 --- /dev/null +++ b/bitmaps_png/sources/sim_add_signal.svg @@ -0,0 +1,874 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + v(t) + + + + diff --git a/bitmaps_png/sources/sim_probe.svg b/bitmaps_png/sources/sim_probe.svg new file mode 100644 index 0000000000..d6bb8b929c --- /dev/null +++ b/bitmaps_png/sources/sim_probe.svg @@ -0,0 +1,140 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bitmaps_png/sources/sim_run.svg b/bitmaps_png/sources/sim_run.svg new file mode 100644 index 0000000000..e140caa655 --- /dev/null +++ b/bitmaps_png/sources/sim_run.svg @@ -0,0 +1,83 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/bitmaps_png/sources/sim_settings.svg b/bitmaps_png/sources/sim_settings.svg new file mode 100644 index 0000000000..9deb037228 --- /dev/null +++ b/bitmaps_png/sources/sim_settings.svg @@ -0,0 +1,72 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/bitmaps_png/sources/sim_stop.svg b/bitmaps_png/sources/sim_stop.svg new file mode 100644 index 0000000000..96ad3ab0f0 --- /dev/null +++ b/bitmaps_png/sources/sim_stop.svg @@ -0,0 +1,92 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/bitmaps_png/sources/sim_tune.svg b/bitmaps_png/sources/sim_tune.svg new file mode 100644 index 0000000000..f6df39d745 --- /dev/null +++ b/bitmaps_png/sources/sim_tune.svg @@ -0,0 +1,103 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eeschema/eeschema_id.h b/eeschema/eeschema_id.h index 94d764893a..77acb97a4a 100644 --- a/eeschema/eeschema_id.h +++ b/eeschema/eeschema_id.h @@ -251,14 +251,18 @@ enum id_eeschema_frm ID_LIBVIEW_CMP_EXPORT_TO_SCHEMATIC, ID_SET_RELATIVE_OFFSET, - ID_END_EESCHEMA_ID_LIST, - ID_UPDATE_PCB_FROM_SCH, ID_UPDATE_SCH_FROM_PCB, - ID_SIM_SHOW, + ID_SIM_RUN, + ID_SIM_TUNE, ID_SIM_PROBE, - ID_SIM_TUNE + ID_SIM_SETTINGS, + ID_SIM_ADD_SIGNALS, + ID_SIM_SHOW, + + ID_END_EESCHEMA_ID_LIST + }; diff --git a/eeschema/sim/sim_plot_frame.cpp b/eeschema/sim/sim_plot_frame.cpp index 108da7ccfc..83b006870b 100644 --- a/eeschema/sim/sim_plot_frame.cpp +++ b/eeschema/sim/sim_plot_frame.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -118,6 +119,32 @@ SIM_PLOT_FRAME::SIM_PLOT_FRAME( KIWAY* aKiway, wxWindow* aParent ) Connect( EVT_SIM_STARTED, wxCommandEventHandler( SIM_PLOT_FRAME::onSimStarted ), NULL, this ); Connect( EVT_SIM_FINISHED, wxCommandEventHandler( SIM_PLOT_FRAME::onSimFinished ), NULL, this ); Connect( EVT_SIM_CURSOR_UPDATE, wxCommandEventHandler( SIM_PLOT_FRAME::onCursorUpdate ), NULL, this ); + + + m_toolSimulate = m_toolBar->AddTool( ID_SIM_RUN, _("Run Simulation"), KiBitmap( sim_run_xpm ), _("Run Simulation"), wxITEM_NORMAL ); + m_toolAddSignals = m_toolBar->AddTool( ID_SIM_ADD_SIGNALS, _("Add Signals"), KiBitmap( sim_add_signal_xpm ), _("Add signals to plot"), wxITEM_NORMAL ); + m_toolProbe = m_toolBar->AddTool( ID_SIM_PROBE, _("Probe"), KiBitmap( sim_probe_xpm ),_("Probe signals on the schematic"), wxITEM_NORMAL ); + m_toolTune = m_toolBar->AddTool( ID_SIM_TUNE, _("Tune"), KiBitmap( sim_tune_xpm ), _("Tune component values"), wxITEM_NORMAL ); + m_toolSettings = m_toolBar->AddTool( wxID_ANY, _("Settings"), KiBitmap( sim_settings_xpm ), _("Simulation settings"), wxITEM_NORMAL ); + + Connect( m_toolSimulate->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME::onSimulate ), NULL, this ); + Connect( m_toolAddSignals->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME::onAddSignal ), NULL, this ); + Connect( m_toolProbe->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME::onProbe ), NULL, this ); + Connect( m_toolTune->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME::onTune ), NULL, this ); + Connect( m_toolSettings->GetId(), wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME::onSettings ), NULL, this ); + + int w, h; + + GetSize( &w, &h ); + + printf("%d %d\n", w, h); + + m_toolBar->Realize(); + + Layout(); + + m_splitterConsole->SetSashPosition( w * 0.8 ); + m_splitterPlot->SetSashPosition( h *0.8 ); } @@ -152,6 +179,12 @@ void SIM_PLOT_FRAME::StartSimulation() m_simulator->Init(); m_simulator->LoadNetlist( formatter.GetString() ); m_simulator->Run(); + + m_welcomePanel->Show(false); + m_plotNotebook->Show(true); + m_plotNotebook->Raise(); + + Layout(); } @@ -559,7 +592,7 @@ void SIM_PLOT_FRAME::menuShowLegendUpdate( wxUpdateUIEvent& event ) event.Check( plot ? plot->IsLegendShown() : false ); } - +#if 0 void SIM_PLOT_FRAME::menuShowCoords( wxCommandEvent& event ) { SIM_PLOT_PANEL* plot = CurrentPlot(); @@ -572,7 +605,7 @@ void SIM_PLOT_FRAME::menuShowCoordsUpdate( wxUpdateUIEvent& event ) SIM_PLOT_PANEL* plot = CurrentPlot(); event.Check( plot ? plot->IsCoordsShown() : false ); } - +#endif void SIM_PLOT_FRAME::onPlotChanged( wxNotebookEvent& event ) { @@ -705,14 +738,14 @@ void SIM_PLOT_FRAME::onCursorUpdate( wxCommandEvent& event ) void SIM_PLOT_FRAME::onSimStarted( wxCommandEvent& aEvent ) { - m_simulateBtn->SetLabel( wxT( "Stop" ) ); + //m_simulateBtn->SetLabel( wxT( "Stop" ) ); SetCursor( wxCURSOR_ARROWWAIT ); } void SIM_PLOT_FRAME::onSimFinished( wxCommandEvent& aEvent ) { - m_simulateBtn->SetLabel( wxT( "Simulate" ) ); + //m_simulateBtn->SetLabel( wxT( "Simulate" ) ); SetCursor( wxCURSOR_ARROW ); SIM_TYPE simType = m_exporter->GetSimType(); @@ -765,6 +798,8 @@ void SIM_PLOT_FRAME::onSimUpdate( wxCommandEvent& aEvent ) std::string command( "alter @" + tuner->GetSpiceName() + "=" + tuner->GetValue().ToSpiceString() ); m_simulator->Command( command ); + + printf("CMD: %s\n", command.c_str() ); } } diff --git a/eeschema/sim/sim_plot_frame.h b/eeschema/sim/sim_plot_frame.h index 7fc751a0f0..6a11cb491b 100644 --- a/eeschema/sim/sim_plot_frame.h +++ b/eeschema/sim/sim_plot_frame.h @@ -195,8 +195,8 @@ class SIM_PLOT_FRAME : public SIM_PLOT_FRAME_BASE void menuShowGridUpdate( wxUpdateUIEvent& event ) override; void menuShowLegend( wxCommandEvent& event ) override; void menuShowLegendUpdate( wxUpdateUIEvent& event ) override; - void menuShowCoords( wxCommandEvent& event ) override; - void menuShowCoordsUpdate( wxUpdateUIEvent& event ) override; + //void menuShowCoords( wxCommandEvent& event ) override; + //void menuShowCoordsUpdate( wxUpdateUIEvent& event ) override; // Event handlers void onPlotChanged( wxNotebookEvent& event ) override; @@ -204,11 +204,11 @@ class SIM_PLOT_FRAME : public SIM_PLOT_FRAME_BASE void onSignalDblClick( wxCommandEvent& event ) override; void onSignalRClick( wxMouseEvent& event ) override; - void onSimulate( wxCommandEvent& event ) override; - void onSettings( wxCommandEvent& event ) override; - void onAddSignal( wxCommandEvent& event ) override; - void onProbe( wxCommandEvent& event ) override; - void onTune( wxCommandEvent& event ) override; + void onSimulate( wxCommandEvent& event ); + void onSettings( wxCommandEvent& event ); + void onAddSignal( wxCommandEvent& event ); + void onProbe( wxCommandEvent& event ); + void onTune( wxCommandEvent& event ); void onClose( wxCloseEvent& aEvent ); @@ -218,6 +218,12 @@ class SIM_PLOT_FRAME : public SIM_PLOT_FRAME_BASE void onSimStarted( wxCommandEvent& aEvent ); void onSimFinished( wxCommandEvent& aEvent ); + wxToolBarToolBase* m_toolSimulate; + wxToolBarToolBase* m_toolAddSignals; + wxToolBarToolBase* m_toolProbe; + wxToolBarToolBase* m_toolTune; + wxToolBarToolBase* m_toolSettings; + SCH_EDIT_FRAME* m_schematicFrame; std::unique_ptr m_exporter; std::unique_ptr m_simulator; diff --git a/eeschema/sim/sim_plot_frame_base.cpp b/eeschema/sim/sim_plot_frame_base.cpp index b5c2429d0e..840c618200 100644 --- a/eeschema/sim/sim_plot_frame_base.cpp +++ b/eeschema/sim/sim_plot_frame_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Jun 24 2016) +// C++ code generated with wxFormBuilder (version Jun 17 2015) // http://www.wxformbuilder.org/ // // PLEASE DO "NOT" EDIT THIS FILE! @@ -47,6 +47,33 @@ SIM_PLOT_FRAME_BASE::SIM_PLOT_FRAME_BASE( wxWindow* parent, wxWindowID id, const m_mainMenu->Append( m_fileMenu, _("File") ); + m_simulationMenu = new wxMenu(); + wxMenuItem* m_runSimulation; + m_runSimulation = new wxMenuItem( m_simulationMenu, wxID_NEW, wxString( _("Run Simulation") ) , wxEmptyString, wxITEM_NORMAL ); + m_simulationMenu->Append( m_runSimulation ); + + m_simulationMenu->AppendSeparator(); + + wxMenuItem* m_addSignals; + m_addSignals = new wxMenuItem( m_simulationMenu, wxID_OPEN, wxString( _("Add signals...") ) , wxEmptyString, wxITEM_NORMAL ); + m_simulationMenu->Append( m_addSignals ); + + wxMenuItem* m_probeSignals; + m_probeSignals = new wxMenuItem( m_simulationMenu, wxID_SAVE, wxString( _("Probe from schematics") ) , wxEmptyString, wxITEM_NORMAL ); + m_simulationMenu->Append( m_probeSignals ); + + wxMenuItem* m_tuneValue; + m_tuneValue = new wxMenuItem( m_simulationMenu, wxID_ANY, wxString( _("Tune component value") ) , wxEmptyString, wxITEM_NORMAL ); + m_simulationMenu->Append( m_tuneValue ); + + m_simulationMenu->AppendSeparator(); + + wxMenuItem* m_exitSim1; + m_exitSim1 = new wxMenuItem( m_simulationMenu, wxID_CLOSE, wxString( _("Settings...") ) , wxEmptyString, wxITEM_NORMAL ); + m_simulationMenu->Append( m_exitSim1 ); + + m_mainMenu->Append( m_simulationMenu, _("Simulation") ); + m_viewMenu = new wxMenu(); wxMenuItem* m_zoomIn; m_zoomIn = new wxMenuItem( m_viewMenu, wxID_ZOOM_IN, wxString( _("Zoom In") ) , wxEmptyString, wxITEM_NORMAL ); @@ -70,10 +97,6 @@ SIM_PLOT_FRAME_BASE::SIM_PLOT_FRAME_BASE( wxWindow* parent, wxWindowID id, const m_showLegend = new wxMenuItem( m_viewMenu, wxID_ANY, wxString( _("Show &legend") ) , wxEmptyString, wxITEM_CHECK ); m_viewMenu->Append( m_showLegend ); - wxMenuItem* m_showCoords; - m_showCoords = new wxMenuItem( m_viewMenu, wxID_ANY, wxString( _("Show &coordinates") ) , wxEmptyString, wxITEM_CHECK ); - m_viewMenu->Append( m_showCoords ); - m_mainMenu->Append( m_viewMenu, _("View") ); this->SetMenuBar( m_mainMenu ); @@ -81,31 +104,99 @@ SIM_PLOT_FRAME_BASE::SIM_PLOT_FRAME_BASE( wxWindow* parent, wxWindowID id, const wxBoxSizer* bSizer1; bSizer1 = new wxBoxSizer( wxVERTICAL ); + m_toolBar = new wxToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTB_FLAT|wxTB_HORIZONTAL|wxTB_TEXT ); + m_toolBar->Realize(); + + bSizer1->Add( m_toolBar, 0, wxEXPAND, 5 ); + + m_splitterPlot = new wxSplitterWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D ); + m_splitterPlot->SetSashGravity( 0.8 ); + m_splitterPlot->Connect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterPlotOnIdle ), NULL, this ); + + m_panel2 = new wxPanel( m_splitterPlot, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); + wxBoxSizer* bSizer11; + bSizer11 = new wxBoxSizer( wxVERTICAL ); + + m_splitterConsole = new wxSplitterWindow( m_panel2, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D ); + m_splitterConsole->SetSashGravity( 0.8 ); + m_splitterConsole->Connect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterConsoleOnIdle ), NULL, this ); + + m_panel4 = new wxPanel( m_splitterConsole, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* bSizer5; bSizer5 = new wxBoxSizer( wxHORIZONTAL ); - wxBoxSizer* bSizer51; - bSizer51 = new wxBoxSizer( wxVERTICAL ); - - m_plotNotebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); + m_plotNotebook = new wxNotebook( m_panel4, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); + m_plotNotebook->Hide(); m_plotNotebook->SetMinSize( wxSize( 400,-1 ) ); - bSizer51->Add( m_plotNotebook, 3, wxEXPAND | wxALL, 5 ); + bSizer5->Add( m_plotNotebook, 3, wxEXPAND | wxALL, 5 ); - m_simConsole = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_DONTWRAP|wxTE_MULTILINE|wxTE_READONLY ); - m_simConsole->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); - - bSizer51->Add( m_simConsole, 1, wxALL|wxEXPAND, 5 ); + m_welcomePanel = new wxPanel( m_panel4, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); + wxBoxSizer* bSizer8; + bSizer8 = new wxBoxSizer( wxVERTICAL ); - bSizer5->Add( bSizer51, 5, wxEXPAND, 5 ); + bSizer8->Add( 0, 0, 1, wxEXPAND, 5 ); + wxBoxSizer* bSizer81; + bSizer81 = new wxBoxSizer( wxHORIZONTAL ); + + + bSizer81->Add( 0, 0, 1, wxEXPAND, 5 ); + + m_staticText2 = new wxStaticText( m_welcomePanel, wxID_ANY, _("Start the simulation by clicking the Run Simulation button"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText2->Wrap( -1 ); + m_staticText2->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) ); + m_staticText2->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) ); + + bSizer81->Add( m_staticText2, 0, wxALIGN_RIGHT|wxALL|wxEXPAND, 5 ); + + + bSizer81->Add( 0, 0, 1, wxEXPAND, 5 ); + + + bSizer8->Add( bSizer81, 0, wxEXPAND, 5 ); + + + bSizer8->Add( 0, 0, 1, wxEXPAND, 5 ); + + + m_welcomePanel->SetSizer( bSizer8 ); + m_welcomePanel->Layout(); + bSizer8->Fit( m_welcomePanel ); + bSizer5->Add( m_welcomePanel, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); + + + m_panel4->SetSizer( bSizer5 ); + m_panel4->Layout(); + bSizer5->Fit( m_panel4 ); + m_panel5 = new wxPanel( m_splitterConsole, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); + wxBoxSizer* bSizer13; + bSizer13 = new wxBoxSizer( wxVERTICAL ); + + m_simConsole = new wxTextCtrl( m_panel5, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_DONTWRAP|wxTE_MULTILINE|wxTE_READONLY ); + m_simConsole->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 76, 90, 90, false, wxEmptyString ) ); + + bSizer13->Add( m_simConsole, 1, wxALL|wxEXPAND, 5 ); + + + m_panel5->SetSizer( bSizer13 ); + m_panel5->Layout(); + bSizer13->Fit( m_panel5 ); + m_splitterConsole->SplitHorizontally( m_panel4, m_panel5, 0 ); + bSizer11->Add( m_splitterConsole, 1, wxEXPAND, 5 ); + + + m_panel2->SetSizer( bSizer11 ); + m_panel2->Layout(); + bSizer11->Fit( m_panel2 ); + m_panel31 = new wxPanel( m_splitterPlot, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* bSizer7; bSizer7 = new wxBoxSizer( wxVERTICAL ); wxStaticBoxSizer* sbSizer1; - sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Signals") ), wxVERTICAL ); + sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( m_panel31, wxID_ANY, _("Signals") ), wxVERTICAL ); m_signals = new wxListBox( sbSizer1->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE|wxLB_SORT ); sbSizer1->Add( m_signals, 1, wxALL|wxEXPAND, 5 ); @@ -114,7 +205,7 @@ SIM_PLOT_FRAME_BASE::SIM_PLOT_FRAME_BASE( wxWindow* parent, wxWindowID id, const bSizer7->Add( sbSizer1, 1, wxEXPAND, 5 ); wxStaticBoxSizer* sbSizer3; - sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Cursors") ), wxVERTICAL ); + sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_panel31, wxID_ANY, _("Cursors") ), wxVERTICAL ); m_cursors = new wxListCtrl( sbSizer3->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_SINGLE_SEL ); sbSizer3->Add( m_cursors, 1, wxALL|wxEXPAND, 5 ); @@ -123,7 +214,7 @@ SIM_PLOT_FRAME_BASE::SIM_PLOT_FRAME_BASE( wxWindow* parent, wxWindowID id, const bSizer7->Add( sbSizer3, 1, wxEXPAND, 5 ); wxStaticBoxSizer* sbSizer4; - sbSizer4 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Tune") ), wxVERTICAL ); + sbSizer4 = new wxStaticBoxSizer( new wxStaticBox( m_panel31, wxID_ANY, _("Tune") ), wxVERTICAL ); m_tuneSizer = new wxBoxSizer( wxHORIZONTAL ); @@ -133,32 +224,12 @@ SIM_PLOT_FRAME_BASE::SIM_PLOT_FRAME_BASE( wxWindow* parent, wxWindowID id, const bSizer7->Add( sbSizer4, 1, wxEXPAND, 5 ); - wxBoxSizer* bSizer4; - bSizer4 = new wxBoxSizer( wxHORIZONTAL ); - m_simulateBtn = new wxButton( this, wxID_ANY, _("Simulate"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer4->Add( m_simulateBtn, 1, wxALL|wxEXPAND, 5 ); - - m_settingsBtn = new wxButton( this, wxID_ANY, _("Settings"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer4->Add( m_settingsBtn, 1, wxALL|wxEXPAND, 5 ); - - m_addSignal = new wxButton( this, wxID_ANY, _("Add signal"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer4->Add( m_addSignal, 0, wxALL|wxEXPAND, 5 ); - - m_probeBtn = new wxButton( this, wxID_ANY, _("Probe"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer4->Add( m_probeBtn, 1, wxALL|wxEXPAND, 5 ); - - m_tuneBtn = new wxButton( this, wxID_ANY, _("Tune"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer4->Add( m_tuneBtn, 1, wxALL|wxEXPAND, 5 ); - - - bSizer7->Add( bSizer4, 0, 0, 5 ); - - - bSizer5->Add( bSizer7, 1, wxEXPAND, 5 ); - - - bSizer1->Add( bSizer5, 3, wxEXPAND, 5 ); + m_panel31->SetSizer( bSizer7 ); + m_panel31->Layout(); + bSizer7->Fit( m_panel31 ); + m_splitterPlot->SplitVertically( m_panel2, m_panel31, 0 ); + bSizer1->Add( m_splitterPlot, 1, wxEXPAND, 5 ); this->SetSizer( bSizer1 ); @@ -173,6 +244,11 @@ SIM_PLOT_FRAME_BASE::SIM_PLOT_FRAME_BASE( wxWindow* parent, wxWindowID id, const this->Connect( m_saveImage->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveImage ) ); this->Connect( m_saveCsv->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveCsv ) ); this->Connect( m_exitSim->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuExit ) ); + this->Connect( m_runSimulation->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuNewPlot ) ); + this->Connect( m_addSignals->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuOpenWorkbook ) ); + this->Connect( m_probeSignals->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveWorkbook ) ); + this->Connect( m_tuneValue->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveImage ) ); + this->Connect( m_exitSim1->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuExit ) ); this->Connect( m_zoomIn->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomIn ) ); this->Connect( m_zoomOut->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomOut ) ); this->Connect( m_zoomFit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomFit ) ); @@ -180,16 +256,9 @@ SIM_PLOT_FRAME_BASE::SIM_PLOT_FRAME_BASE( wxWindow* parent, wxWindowID id, const this->Connect( m_showGrid->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowGridUpdate ) ); this->Connect( m_showLegend->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuShowLegend ) ); this->Connect( m_showLegend->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowLegendUpdate ) ); - this->Connect( m_showCoords->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuShowCoords ) ); - this->Connect( m_showCoords->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowCoordsUpdate ) ); m_plotNotebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( SIM_PLOT_FRAME_BASE::onPlotChanged ), NULL, this ); m_signals->Connect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::onSignalDblClick ), NULL, this ); m_signals->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( SIM_PLOT_FRAME_BASE::onSignalRClick ), NULL, this ); - m_simulateBtn->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::onSimulate ), NULL, this ); - m_settingsBtn->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::onSettings ), NULL, this ); - m_addSignal->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::onAddSignal ), NULL, this ); - m_probeBtn->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::onProbe ), NULL, this ); - m_tuneBtn->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::onTune ), NULL, this ); } SIM_PLOT_FRAME_BASE::~SIM_PLOT_FRAME_BASE() @@ -201,6 +270,11 @@ SIM_PLOT_FRAME_BASE::~SIM_PLOT_FRAME_BASE() this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveImage ) ); this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveCsv ) ); this->Disconnect( wxID_CLOSE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuExit ) ); + this->Disconnect( wxID_NEW, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuNewPlot ) ); + this->Disconnect( wxID_OPEN, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuOpenWorkbook ) ); + this->Disconnect( wxID_SAVE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveWorkbook ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveImage ) ); + this->Disconnect( wxID_CLOSE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuExit ) ); this->Disconnect( wxID_ZOOM_IN, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomIn ) ); this->Disconnect( wxID_ZOOM_OUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomOut ) ); this->Disconnect( wxID_ZOOM_FIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomFit ) ); @@ -208,15 +282,8 @@ SIM_PLOT_FRAME_BASE::~SIM_PLOT_FRAME_BASE() this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowGridUpdate ) ); this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuShowLegend ) ); this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowLegendUpdate ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuShowCoords ) ); - this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowCoordsUpdate ) ); m_plotNotebook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( SIM_PLOT_FRAME_BASE::onPlotChanged ), NULL, this ); m_signals->Disconnect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::onSignalDblClick ), NULL, this ); m_signals->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( SIM_PLOT_FRAME_BASE::onSignalRClick ), NULL, this ); - m_simulateBtn->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::onSimulate ), NULL, this ); - m_settingsBtn->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::onSettings ), NULL, this ); - m_addSignal->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::onAddSignal ), NULL, this ); - m_probeBtn->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::onProbe ), NULL, this ); - m_tuneBtn->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::onTune ), NULL, this ); } diff --git a/eeschema/sim/sim_plot_frame_base.fbp b/eeschema/sim/sim_plot_frame_base.fbp index ebd2282bd0..d9ef495e76 100644 --- a/eeschema/sim/sim_plot_frame_base.fbp +++ b/eeschema/sim/sim_plot_frame_base.fbp @@ -88,7 +88,7 @@ - + 1 @@ -240,7 +240,95 @@ - + + Simulation + m_simulationMenu + protected + + + 0 + 1 + + wxID_NEW + wxITEM_NORMAL + Run Simulation + m_runSimulation + none + + + menuNewPlot + + + + m_separator31 + none + + + + 0 + 1 + + wxID_OPEN + wxITEM_NORMAL + Add signals... + m_addSignals + none + + + menuOpenWorkbook + + + + + 0 + 1 + + wxID_SAVE + wxITEM_NORMAL + Probe from schematics + m_probeSignals + none + + + menuSaveWorkbook + + + + + 0 + 1 + + wxID_ANY + wxITEM_NORMAL + Tune component value + m_tuneValue + none + + + menuSaveImage + + + + m_separator41 + none + + + + 0 + 1 + + wxID_CLOSE + wxITEM_NORMAL + Settings... + m_exitSim1 + none + + + menuExit + + + + View m_viewMenu protected @@ -323,21 +411,6 @@ menuShowLegend menuShowLegendUpdate - - - 0 - 1 - - wxID_ANY - wxITEM_CHECK - Show &coordinates - m_showCoords - none - - - menuShowCoords - menuShowCoordsUpdate - @@ -348,903 +421,1233 @@ 5 wxEXPAND - 3 - + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + + 0 + + + 0 - bSizer5 - wxHORIZONTAL - none - - 5 - wxEXPAND - 5 - + 1 + m_toolBar + 1 + 1 + + + protected + 1 + + Resizable + 5 + 1 + + wxTB_FLAT|wxTB_HORIZONTAL|wxTB_TEXT + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_splitterPlot + 1 + + + protected + 1 + + Resizable + 0.8 + 0 + -1 + 1 + + wxSPLIT_VERTICAL + wxSP_3D + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 - bSizer51 - wxVERTICAL - none - - 5 - wxEXPAND | wxALL - 3 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - 400,-1 - 1 - m_plotNotebook - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - - - - - - - - - - - - - - - - - onPlotChanged - - - - - - - - - - - - 5 - wxALL|wxEXPAND - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - ,90,90,-1,76,0 - 0 - 0 - wxID_ANY - - 0 - - - - 0 - - 1 - m_simConsole - 1 - - - protected - 1 - - Resizable - 1 - - wxTE_DONTWRAP|wxTE_MULTILINE|wxTE_READONLY - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 1 + m_panel2 + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + + + + bSizer11 + wxVERTICAL + none + + 5 + wxEXPAND + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_splitterConsole + 1 + + + protected + 1 + + Resizable + 0.8 + 0 + -1 + 1 + + wxSPLIT_HORIZONTAL + wxSP_3D + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_panel4 + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + + + + bSizer5 + wxHORIZONTAL + none + + 5 + wxEXPAND | wxALL + 3 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 1 + wxID_ANY + + 0 + + + 0 + 400,-1 + 1 + m_plotNotebook + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + + + + + + + + + + + + + + + + + onPlotChanged + + + + + + + + + + + + 5 + wxEXPAND|wxTOP|wxRIGHT|wxLEFT + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_welcomePanel + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + + + + bSizer8 + wxVERTICAL + none + + 5 + wxEXPAND + 1 + + 0 + protected + 0 + + + + 5 + wxEXPAND + 0 + + + bSizer81 + wxHORIZONTAL + none + + 5 + wxEXPAND + 1 + + 0 + protected + 0 + + + + 5 + wxALIGN_RIGHT|wxALL|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + wxSYS_COLOUR_GRAYTEXT + 1 + ,90,92,-1,70,0 + 0 + 0 + wxID_ANY + Start the simulation by clicking the Run Simulation button + + 0 + + + 0 + + 1 + m_staticText2 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND + 1 + + 0 + protected + 0 + + + + + + 5 + wxEXPAND + 1 + + 0 + protected + 0 + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_panel5 + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + + + + bSizer13 + wxVERTICAL + none + + 5 + wxALL|wxEXPAND + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + ,90,90,-1,76,0 + 0 + 0 + wxID_ANY + + 0 + + + + 0 + + 1 + m_simConsole + 1 + + + protected + 1 + + Resizable + 1 + + wxTE_DONTWRAP|wxTE_MULTILINE|wxTE_READONLY + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - 5 - wxEXPAND - 1 - + + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 - bSizer7 - wxVERTICAL - none - - 5 - wxEXPAND - 1 - - wxID_ANY - Signals - - sbSizer1 - wxVERTICAL - 1 - none - - - 5 - wxALL|wxEXPAND - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_signals - 1 - - - protected - 1 - - Resizable - 1 - - wxLB_SINGLE|wxLB_SORT - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - - - - - onSignalDblClick - - - - - - - - - - onSignalRClick - - - + 1 + m_panel31 + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + + + + bSizer7 + wxVERTICAL + none + + 5 + wxEXPAND + 1 + + wxID_ANY + Signals + + sbSizer1 + wxVERTICAL + none + + + 5 + wxALL|wxEXPAND + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_signals + 1 + + + protected + 1 + + Resizable + 1 + + wxLB_SINGLE|wxLB_SORT + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + onSignalDblClick + + + + + + + + + + onSignalRClick + + + + - - - 5 - wxEXPAND - 1 - - wxID_ANY - Cursors - - sbSizer3 - wxVERTICAL - 1 - none - - - 5 - wxALL|wxEXPAND - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_cursors - 1 - - - protected - 1 - - Resizable - 1 - - wxLC_HRULES|wxLC_REPORT|wxLC_SINGLE_SEL - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 5 + wxEXPAND + 1 + + wxID_ANY + Cursors + + sbSizer3 + wxVERTICAL + none + + + 5 + wxALL|wxEXPAND + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_cursors + 1 + + + protected + 1 + + Resizable + 1 + + wxLC_HRULES|wxLC_REPORT|wxLC_SINGLE_SEL + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - 5 - wxEXPAND - 1 - - wxID_ANY - Tune - - sbSizer4 - wxVERTICAL - 1 - none - - - 5 - wxEXPAND - 1 - - - m_tuneSizer - wxHORIZONTAL - protected - - - - - - 5 - - 0 - - - bSizer4 - wxHORIZONTAL - none - - 5 - wxALL|wxEXPAND - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Simulate - - 0 - - - 0 - - 1 - m_simulateBtn - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - onSimulate - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL|wxEXPAND - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Settings - - 0 - - - 0 - - 1 - m_settingsBtn - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - onSettings - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL|wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Add signal - - 0 - - - 0 - - 1 - m_addSignal - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - onAddSignal - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL|wxEXPAND - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Probe - - 0 - - - 0 - - 1 - m_probeBtn - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - onProbe - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL|wxEXPAND - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Tune - - 0 - - - 0 - - 1 - m_tuneBtn - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - onTune - - - - - - - - - - - - - - - - - - - - - - - + + 5 + wxEXPAND + 1 + + wxID_ANY + Tune + + sbSizer4 + wxVERTICAL + none + + + 5 + wxEXPAND + 1 + + + m_tuneSizer + wxHORIZONTAL + protected + diff --git a/eeschema/sim/sim_plot_frame_base.h b/eeschema/sim/sim_plot_frame_base.h index b4859b9882..d7e7573721 100644 --- a/eeschema/sim/sim_plot_frame_base.h +++ b/eeschema/sim/sim_plot_frame_base.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Jun 24 2016) +// C++ code generated with wxFormBuilder (version Jun 17 2015) // http://www.wxformbuilder.org/ // // PLEASE DO "NOT" EDIT THIS FILE! @@ -23,13 +23,16 @@ class KIWAY_PLAYER; #include #include #include +#include #include -#include +#include #include +#include +#include +#include #include #include #include -#include #include /////////////////////////////////////////////////////////////////////////// @@ -45,17 +48,22 @@ class SIM_PLOT_FRAME_BASE : public KIWAY_PLAYER protected: wxMenuBar* m_mainMenu; wxMenu* m_fileMenu; + wxMenu* m_simulationMenu; wxMenu* m_viewMenu; + wxToolBar* m_toolBar; + wxSplitterWindow* m_splitterPlot; + wxPanel* m_panel2; + wxSplitterWindow* m_splitterConsole; + wxPanel* m_panel4; wxNotebook* m_plotNotebook; + wxPanel* m_welcomePanel; + wxStaticText* m_staticText2; + wxPanel* m_panel5; wxTextCtrl* m_simConsole; + wxPanel* m_panel31; wxListBox* m_signals; wxListCtrl* m_cursors; wxBoxSizer* m_tuneSizer; - wxButton* m_simulateBtn; - wxButton* m_settingsBtn; - wxButton* m_addSignal; - wxButton* m_probeBtn; - wxButton* m_tuneBtn; // Virtual event handlers, overide them in your derived class virtual void menuNewPlot( wxCommandEvent& event ) { event.Skip(); } @@ -71,16 +79,9 @@ class SIM_PLOT_FRAME_BASE : public KIWAY_PLAYER virtual void menuShowGridUpdate( wxUpdateUIEvent& event ) { event.Skip(); } virtual void menuShowLegend( wxCommandEvent& event ) { event.Skip(); } virtual void menuShowLegendUpdate( wxUpdateUIEvent& event ) { event.Skip(); } - virtual void menuShowCoords( wxCommandEvent& event ) { event.Skip(); } - virtual void menuShowCoordsUpdate( wxUpdateUIEvent& event ) { event.Skip(); } virtual void onPlotChanged( wxNotebookEvent& event ) { event.Skip(); } virtual void onSignalDblClick( wxCommandEvent& event ) { event.Skip(); } virtual void onSignalRClick( wxMouseEvent& event ) { event.Skip(); } - virtual void onSimulate( wxCommandEvent& event ) { event.Skip(); } - virtual void onSettings( wxCommandEvent& event ) { event.Skip(); } - virtual void onAddSignal( wxCommandEvent& event ) { event.Skip(); } - virtual void onProbe( wxCommandEvent& event ) { event.Skip(); } - virtual void onTune( wxCommandEvent& event ) { event.Skip(); } public: @@ -88,6 +89,18 @@ class SIM_PLOT_FRAME_BASE : public KIWAY_PLAYER SIM_PLOT_FRAME_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Simulation Workbook"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 1280,900 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL, const wxString& name = wxT("SIM_PLOT_FRAME") ); ~SIM_PLOT_FRAME_BASE(); + + void m_splitterPlotOnIdle( wxIdleEvent& ) + { + m_splitterPlot->SetSashPosition( 0 ); + m_splitterPlot->Disconnect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterPlotOnIdle ), NULL, this ); + } + + void m_splitterConsoleOnIdle( wxIdleEvent& ) + { + m_splitterConsole->SetSashPosition( 0 ); + m_splitterConsole->Disconnect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterConsoleOnIdle ), NULL, this ); + } }; diff --git a/include/bitmaps.h b/include/bitmaps.h index ffd70e0b79..92422380f1 100644 --- a/include/bitmaps.h +++ b/include/bitmaps.h @@ -570,5 +570,11 @@ EXTERN_BITMAP( zoom_xpm ) EXTERN_BITMAP( tune_diff_pair_length_legend_xpm ) EXTERN_BITMAP( tune_diff_pair_skew_legend_xpm ) EXTERN_BITMAP( tune_single_track_length_legend_xpm ) +EXTERN_BITMAP( sim_run_xpm ) +EXTERN_BITMAP( sim_stop_xpm ) +EXTERN_BITMAP( sim_tune_xpm ) +EXTERN_BITMAP( sim_probe_xpm ) +EXTERN_BITMAP( sim_add_signal_xpm ) +EXTERN_BITMAP( sim_settings_xpm ) #endif // BITMAPS_H_