| 756 | } |
| 757 | |
| 758 | void DebuggerPlugin::buildSidePanelTab() { |
| 759 | if ( mTabContents && !mTab ) { |
| 760 | if ( mProjectPath.empty() ) |
| 761 | return; |
| 762 | UIIcon* icon = findIcon( "debug" ); |
| 763 | mTab = mSidePanel->add( i18n( "debugger", "Debugger" ), mTabContents, |
| 764 | icon ? icon->getSize( PixelDensity::dpToPx( 12 ) ) : nullptr ); |
| 765 | mTab->setId( "debugger_tab" ); |
| 766 | mTab->setTextAsFallback( true ); |
| 767 | |
| 768 | updateSidePanelTab(); |
| 769 | return; |
| 770 | } |
| 771 | if ( mTab ) |
| 772 | return; |
| 773 | if ( mSidePanel == nullptr ) |
| 774 | getUISceneNode()->bind( "panel", mSidePanel ); |
| 775 | |
| 776 | static constexpr auto STYLE = R"html( |
| 777 | <style> |
| 778 | #panel_debugger_buttons > PushButton { |
| 779 | clip: none; |
| 780 | border-radius: 0; |
| 781 | transition-delay: 0s; |
| 782 | } |
| 783 | #panel_debugger_buttons > PushButton:first-of-type { |
| 784 | border-top-left-radius: var(--button-radius); |
| 785 | border-bottom-left-radius: var(--button-radius); |
| 786 | } |
| 787 | #panel_debugger_buttons > PushButton:last-of-type { |
| 788 | border-top-right-radius: var(--button-radius); |
| 789 | border-bottom-right-radius: var(--button-radius); |
| 790 | } |
| 791 | #panel_debugger_help { |
| 792 | color: var(--primary); |
| 793 | text-decoration: none; |
| 794 | text-align: center; |
| 795 | margin-top: 32dp; |
| 796 | } |
| 797 | #panel_debugger_help:hover { |
| 798 | text-decoration: underline; |
| 799 | } |
| 800 | </style> |
| 801 | <vbox id="debugger_panel" lw="mp" lh="wc" padding="4dp"> |
| 802 | <vbox id="debugger_config_view" lw="mp" lh="wc"> |
| 803 | <TextView text="@string(debugger, Debugger)" font-size="15dp" focusable="false" /> |
| 804 | <DropDownList id="debugger_list" layout_width="mp" layout_height="wrap_content" margin-top="2dp" menu-width-mode="expand-if-needed" /> |
| 805 | <TextView text="@string(debugger_configuration, Debugger Configuration)" focusable="false" margin-top="8dp" /> |
| 806 | <DropDownList id="debugger_conf_list" layout_width="mp" layout_height="wrap_content" margin-top="2dp" menu-width-mode="expand-if-needed" /> |
| 807 | <PushButton id="debugger_run_button" lw="mp" lh="wc" text="@string(debug, Debug)" margin-top="8dp" icon="icon(debug-alt, 12dp)" /> |
| 808 | <PushButton id="debugger_build_and_run_button" lw="mp" lh="wc" text="@string(build_and_debug, Build & Debug)" margin-top="8dp" icon="icon(debug-alt, 12dp)" /> |
| 809 | <hbox id="panel_debugger_buttons" lw="wc" lh="wc" layout_gravity="center_horizontal" visible="false" clip="none" margin-top="8dp"> |
| 810 | <PushButton id="panel_debugger_continue" class="debugger_continue" lw="24dp" lh="24dp" icon="icon(debug-continue, 12dp)" tooltip="@string(continue, Continue)" /> |
| 811 | <PushButton id="panel_debugger_pause" class="debugger_pause" lw="24dp" lh="24dp" icon="icon(debug-pause, 12dp)" tooltip="@string(pause, Pause)" /> |
| 812 | <PushButton id="panel_debugger_step_over" class="debugger_step_over" lw="24dp" lh="24dp" icon="icon(debug-step-over, 12dp)" tooltip="@string(step_over, Step Over)" /> |
| 813 | <PushButton id="panel_debugger_step_into" class="debugger_step_into" lw="24dp" lh="24dp" icon="icon(debug-step-into, 12dp)" tooltip="@string(step_into, Step Into)" /> |
| 814 | <PushButton id="panel_debugger_step_out" class="debugger_step_out" lw="24dp" lh="24dp" icon="icon(debug-step-out, 12dp)" tooltip="@string(step_out, Step Out)" /> |
| 815 | </hbox> |
nothing calls this directly
no test coverage detected