KiCad PCB EDA Suite
Loading...
Searching...
No Matches
panel_jobs.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2024 Mark Roszko <[email protected]>
5 * Copyright (C) 2024 KiCad Developers, see AUTHORS.txt for contributors.
6 *
7 * This program is free software: you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation, either version 3 of the License, or (at your
10 * option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along
18 * with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#pragma once
22
23#include "panel_jobs_base.h"
24#include <memory>
25
26class wxAuiNotebook;
27class JOBSET;
30struct JOBSET_OUTPUT;
31
33{
34public:
35 PANEL_JOBS( wxAuiNotebook* aParent, KICAD_MANAGER_FRAME* aFrame,
36 std::unique_ptr<JOBSET> aJobsFile );
37
39
40 void RemoveOutput( JOBSET_OUTPUT* aOutput );
41
43
44protected:
45 virtual void OnAddJobClick( wxCommandEvent& aEvent ) override;
46 virtual void OnAddOutputClick( wxCommandEvent& aEvent ) override;
47 virtual void OnJobListDoubleClicked( wxListEvent& aEvent ) override;
48 virtual void OnJobListItemRightClick( wxListEvent& event ) override;
49 virtual void OnSaveButtonClick( wxCommandEvent& aEvent ) override;
50 virtual void OnJobButtonUp( wxCommandEvent& aEvent ) override;
51 virtual void OnJobButtonDown( wxCommandEvent& aEvent ) override;
52 virtual void OnRunAllJobsClick( wxCommandEvent& event ) override;
53
54 bool GetCanClose() override;
55
56private:
57 void rebuildJobList();
58 void updateTitle();
59 void buildOutputList();
60 void addJobOutputPanel( JOBSET_OUTPUT* aOutput );
61 void onJobListMenu( wxCommandEvent& aEvent );
62 void openJobOptionsForListItem( size_t aItemIndex );
63
64 wxAuiNotebook* m_parentBook;
66 std::unique_ptr<JOBSET> m_jobsFile;
67
68 std::unordered_map<JOBSET_OUTPUT*, PANEL_JOB_OUTPUT*> m_outputPanelMap;
69};
Definition: jobset.h:70
The main KiCad project manager frame.
Class PANEL_JOBS_BASE.
virtual void OnAddOutputClick(wxCommandEvent &aEvent) override
Definition: panel_jobs.cpp:546
virtual void OnJobListItemRightClick(wxListEvent &event) override
Definition: panel_jobs.cpp:450
std::unique_ptr< JOBSET > m_jobsFile
Definition: panel_jobs.h:66
void openJobOptionsForListItem(size_t aItemIndex)
Definition: panel_jobs.cpp:416
std::unordered_map< JOBSET_OUTPUT *, PANEL_JOB_OUTPUT * > m_outputPanelMap
Definition: panel_jobs.h:68
wxAuiNotebook * m_parentBook
Definition: panel_jobs.h:64
virtual void OnAddJobClick(wxCommandEvent &aEvent) override
Definition: panel_jobs.cpp:499
void rebuildJobList()
Definition: panel_jobs.cpp:360
void RemoveOutput(JOBSET_OUTPUT *aOutput)
Definition: panel_jobs.cpp:338
void addJobOutputPanel(JOBSET_OUTPUT *aOutput)
Definition: panel_jobs.cpp:388
void updateTitle()
Definition: panel_jobs.cpp:376
void onJobListMenu(wxCommandEvent &aEvent)
Definition: panel_jobs.cpp:460
virtual void OnJobButtonUp(wxCommandEvent &aEvent) override
Definition: panel_jobs.cpp:644
void buildOutputList()
Definition: panel_jobs.cpp:400
virtual void OnJobButtonDown(wxCommandEvent &aEvent) override
Definition: panel_jobs.cpp:662
virtual void OnRunAllJobsClick(wxCommandEvent &event) override
Definition: panel_jobs.cpp:679
bool GetCanClose() override
Definition: panel_jobs.cpp:584
void EnsurePcbSchFramesOpen()
Definition: panel_jobs.cpp:605
virtual void OnSaveButtonClick(wxCommandEvent &aEvent) override
Definition: panel_jobs.cpp:492
KICAD_MANAGER_FRAME * m_frame
Definition: panel_jobs.h:65
virtual void OnJobListDoubleClicked(wxListEvent &aEvent) override
Definition: panel_jobs.cpp:442