Skip to content

Commit

Permalink
add action bar
Browse files Browse the repository at this point in the history
also make render_icons.rb work with inkscape 1.0

closes #119
  • Loading branch information
carrotIndustries committed May 14, 2020
1 parent b5125e3 commit 136cf03
Show file tree
Hide file tree
Showing 55 changed files with 3,719 additions and 1,405 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -423,6 +423,7 @@ SRC_IMP = \
src/imp/search/searcher_package.cpp\
src/imp/search/searcher_board.cpp\
src/util/clipper_util.cpp\
src/widgets/action_button.cpp\

SRC_IMPC = \
3rd_party/footag/wiz.c\
Expand Down
28 changes: 28 additions & 0 deletions imp.gresource.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,34 @@
<file preprocess="xml-stripblanks">icons/scalable/actions/view-3d-right-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/x-git-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/hourglass-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-button-expander-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-place-refdes-and-value-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-place-text-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-draw-line-rectangle-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-draw-line-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-draw-line-circle-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-draw-arc-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-place-shape-rectangle-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-place-shape-circle-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-place-shape-obround-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-place-hole-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-place-hole-slot-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-resize-symbol-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-draw-polygon-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-draw-polygon-circle-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-draw-polygon-rectangle-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-draw-dimension-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-place-pad-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-generate-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-place-power-symbol-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-draw-net-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-place-net-label-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-place-bus-label-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-place-bus-ripper-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-place-part-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-place-via-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-route-track-symbolic.svg</file>
<file preprocess="xml-stripblanks">icons/scalable/actions/action-route-diffpair-symbolic.svg</file>
<file>icons/scalable/apps/horizon-eda.svg</file>
<file>icons/16x16/apps/horizon-eda.png</file>
<file>icons/32x32/apps/horizon-eda.png</file>
Expand Down
14 changes: 6 additions & 8 deletions render_icons.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,18 @@ def chopSVG(icon)
unless (File.exists?(icon[:file]) && !icon[:forcerender])
FileUtils.cp(SRC,icon[:file])
puts " >> #{icon[:name]}"
cmd = "#{INKSCAPE} -f #{icon[:file]} --select #{icon[:id]} --verb=FitCanvasToSelection --verb=EditInvertInAllLayers "
cmd += "--verb=EditDelete --verb=EditSelectAll --verb=SelectionUnGroup --verb=SelectionUnGroup --verb=SelectionUnGroup --verb=StrokeToPath --verb=FileVacuum "
cmd += "--verb=FileSave --verb=FileQuit"
cmd = "#{INKSCAPE} -g #{icon[:file]} --select #{icon[:id]} --verb=\"FitCanvasToSelection;EditInvertInAllLayers"
cmd += ";EditDelete;EditSelectAll;SelectionUnGroup;SelectionUnGroup;SelectionUnGroup;StrokeToPath;FileVacuum"
cmd += ";FileSave;FileQuit\""
puts cmd
system(cmd)
#saving as plain SVG gets rid of the classes :/
#cmd = "#{INKSCAPE} -f #{icon[:file]} -z --vacuum-defs -l #{icon[:file]} > /dev/null 2>&1"
#system(cmd)
svgcrop = Document.new(File.new(icon[:file], 'r'))
svgcrop.root.each_element("//rect") do |rect|
w = ((rect.attributes["width"].to_f * 10).round / 10.0).to_i #get rid of 16 vs 15.99999
h = ((rect.attributes["width"].to_f * 10).round / 10.0).to_i #Inkscape bugs
if w == 16 && h == 16
rect.remove
svgcrop.root.each_element("//path") do |path|
if path.attributes['style'].include? 'fill:#1a1a1a;'
path.remove
end
end
icon_f = File.new(icon[:file],'w+')
Expand Down
3 changes: 3 additions & 0 deletions src/core/create_tool.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ std::unique_ptr<ToolBase> Core::create_tool(ToolID tool_id)
return std::make_unique<ToolEnterDatum>(this, tool_id);

case ToolID::PLACE_HOLE:
case ToolID::PLACE_HOLE_SLOT:
return std::make_unique<ToolPlaceHole>(this, tool_id);

case ToolID::PLACE_PAD:
Expand Down Expand Up @@ -206,6 +207,8 @@ std::unique_ptr<ToolBase> Core::create_tool(ToolID tool_id)
return std::make_unique<ToolSmash>(this, tool_id);

case ToolID::PLACE_SHAPE:
case ToolID::PLACE_SHAPE_OBROUND:
case ToolID::PLACE_SHAPE_RECTANGLE:
return std::make_unique<ToolPlaceShape>(this, tool_id);

case ToolID::EDIT_SHAPE:
Expand Down
3 changes: 3 additions & 0 deletions src/core/tool_id.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ enum class ToolID {
ENTER_DATUM,
MOVE_EXACTLY,
PLACE_HOLE,
PLACE_HOLE_SLOT,
PLACE_PAD,
PASTE,
ASSIGN_PART,
Expand All @@ -49,6 +50,8 @@ enum class ToolID {
SMASH,
UNSMASH,
PLACE_SHAPE,
PLACE_SHAPE_RECTANGLE,
PLACE_SHAPE_OBROUND,
EDIT_SHAPE,
IMPORT_DXF,
MANAGE_NET_CLASSES,
Expand Down
5 changes: 5 additions & 0 deletions src/core/tools/tool_place_hole.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include "imp/imp_interface.hpp"
#include <iostream>
#include <gdk/gdkkeysyms.h>
#include "core/tool_id.hpp"

namespace horizon {

Expand All @@ -30,6 +31,10 @@ void ToolPlaceHole::create_hole(const Coordi &c)
{
temp = doc.r->insert_hole(UUID::random());
temp->placement.shift = c;
if (tool_id == ToolID::PLACE_HOLE_SLOT) {
temp->shape = Hole::Shape::SLOT;
temp->length = 1_mm;
}
}

ToolResponse ToolPlaceHole::update(const ToolArgs &args)
Expand Down
13 changes: 13 additions & 0 deletions src/core/tools/tool_place_shape.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include "imp/imp_interface.hpp"
#include <iostream>
#include <gdk/gdkkeysyms.h>
#include "core/tool_id.hpp"

namespace horizon {

Expand Down Expand Up @@ -34,6 +35,18 @@ void ToolPlaceShape::create_shape(const Coordi &c)
auto uu = UUID::random();
temp = &doc.a->get_padstack()->shapes.emplace(uu, uu).first->second;
temp->placement.shift = c;
switch (tool_id) {
case ToolID::PLACE_SHAPE_RECTANGLE:
temp->form = Shape::Form::RECTANGLE;
temp->params = {1_mm, 0.5_mm};
break;

case ToolID::PLACE_SHAPE_OBROUND:
temp->form = Shape::Form::OBROUND;
temp->params = {1_mm, 0.5_mm};
break;
default:;
}
}

ToolResponse ToolPlaceShape::update(const ToolArgs &args)
Expand Down
12 changes: 12 additions & 0 deletions src/global.css
Original file line number Diff line number Diff line change
Expand Up @@ -82,3 +82,15 @@
.imp-tool-popover {
padding-bottom: 0px;
}

.imp-action-bar {
border-radius:0px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}

.imp-action-bar-expander {
padding:0px;
min-width: 0px;
min-height: 0px;
}
Loading

0 comments on commit 136cf03

Please sign in to comment.