some enhancements. See changelog
This commit is contained in:
parent
2f1b4cd1d9
commit
44c0105709
|
@ -1,35 +1,41 @@
|
||||||
/* XPM */
|
/* XPM */
|
||||||
static const char * add_tracks_xpm[] = {
|
#ifndef XPMMAIN
|
||||||
"16 16 16 1",
|
extern const char *add_tracks_xpm[];
|
||||||
" c None",
|
|
||||||
". c #007D00",
|
#else
|
||||||
"+ c #006100",
|
const char * add_tracks_xpm[] = {
|
||||||
"@ c #004400",
|
"16 16 16 1",
|
||||||
"# c #007800",
|
" c None",
|
||||||
"$ c #007B00",
|
". c #007D00",
|
||||||
"% c #004000",
|
"+ c #006100",
|
||||||
"& c #007C00",
|
"@ c #004400",
|
||||||
"* c #006500",
|
"# c #007800",
|
||||||
"= c #007A00",
|
"$ c #007B00",
|
||||||
"- c #004600",
|
"% c #004000",
|
||||||
"; c #D72E2E",
|
"& c #007C00",
|
||||||
"> c #A32222",
|
"* c #006500",
|
||||||
", c #C22929",
|
"= c #007A00",
|
||||||
"' c #D22D2D",
|
"- c #004600",
|
||||||
") c #6D1717",
|
"; c #D72E2E",
|
||||||
" ",
|
"> c #A32222",
|
||||||
"........ ",
|
", c #C22929",
|
||||||
"........+ ",
|
"' c #D22D2D",
|
||||||
" @.# ",
|
") c #6D1717",
|
||||||
" $.% ",
|
" ",
|
||||||
" &.* ",
|
"........ ",
|
||||||
" .= ",
|
"........+ ",
|
||||||
" $.- ",
|
" @.# ",
|
||||||
" ;;; ........",
|
" $.% ",
|
||||||
" ;;;;; .......",
|
" &.* ",
|
||||||
";;> >;, ",
|
" .= ",
|
||||||
";; ;' ",
|
" $.- ",
|
||||||
";;> ;;, ",
|
" ;;; ........",
|
||||||
" ;;;;;) ",
|
" ;;;;; .......",
|
||||||
" ,',) ",
|
";;> >;, ",
|
||||||
" "};
|
";; ;' ",
|
||||||
|
";;> ;;, ",
|
||||||
|
" ;;;;;) ",
|
||||||
|
" ,',) ",
|
||||||
|
" "};
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,39 @@
|
||||||
|
/* XPM */
|
||||||
|
#ifndef XPMMAIN
|
||||||
|
extern const char *auto_track_width_xpm[];
|
||||||
|
|
||||||
|
#else
|
||||||
|
const char * auto_track_width_xpm[] = {
|
||||||
|
"16 16 14 1",
|
||||||
|
" c None",
|
||||||
|
", c #008080",
|
||||||
|
". c #00E000",
|
||||||
|
"+ c #006100",
|
||||||
|
"@ c #004400",
|
||||||
|
"# c #007800",
|
||||||
|
"$ c #007B00",
|
||||||
|
"% c #004000",
|
||||||
|
"& c #007C00",
|
||||||
|
"* c #006500",
|
||||||
|
"= c #007A00",
|
||||||
|
"- c #004600",
|
||||||
|
"x c #FF2D2D",
|
||||||
|
"o c #0000FF",
|
||||||
|
" ",
|
||||||
|
"........+ ",
|
||||||
|
".........+ ",
|
||||||
|
" @..# ",
|
||||||
|
" $.% o o ",
|
||||||
|
" &..* o ",
|
||||||
|
" xxxx..= o ",
|
||||||
|
" x xxx..- o ",
|
||||||
|
" x x ........",
|
||||||
|
" x x .......",
|
||||||
|
"x x , o ",
|
||||||
|
"x x ,, o ",
|
||||||
|
"x x,,,,,,,,,,o ",
|
||||||
|
"x x ,, o ",
|
||||||
|
"x x , o o ",
|
||||||
|
"x x "};
|
||||||
|
|
||||||
|
#endif
|
|
@ -1,5 +1,9 @@
|
||||||
/* XPM */
|
/* XPM */
|
||||||
static const char * width_segment_xpm[] = {
|
#ifndef XPMMAIN
|
||||||
|
extern const char *width_segment_xpm[];
|
||||||
|
|
||||||
|
#else
|
||||||
|
const char * width_segment_xpm[] = {
|
||||||
"16 16 3 1",
|
"16 16 3 1",
|
||||||
" c None",
|
" c None",
|
||||||
"! c black",
|
"! c black",
|
||||||
|
@ -20,3 +24,4 @@ static const char * width_segment_xpm[] = {
|
||||||
" ! ",
|
" ! ",
|
||||||
" ! ",
|
" ! ",
|
||||||
" "};
|
" "};
|
||||||
|
#endif
|
|
@ -1,60 +1,3 @@
|
||||||
Can somebody please come to my rescue on this one:
|
|
||||||
|
|
||||||
This was posted to the developer's list. It would be nice to get an
|
|
||||||
apology or at least a link to the posting from which he launches such an attack:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Dick, enough of this whining. The article on gnu.org is more than an opinion
|
|
||||||
piece - unless
|
|
||||||
you really don't know what/who gnu.org is. While I and others here do appreciate
|
|
||||||
contributions made by all involved, your contributions do not entitle you to the
|
|
||||||
rest of the
|
|
||||||
code base. The GPL license is not revocable. You can take your lines of the
|
|
||||||
code (and only
|
|
||||||
just what you wrote) and do what you want, but you can't take Jean Pierre's
|
|
||||||
code, even if
|
|
||||||
you have modified it, without violating the GPL.
|
|
||||||
|
|
||||||
I'm hereby asking Jean Pierre if he could please make it clear to this list if
|
|
||||||
he has ANY
|
|
||||||
intent of turning this package away from GPL for Dick or anyone else. I think
|
|
||||||
all involved
|
|
||||||
should know here and now if this is going to remain an open GPL project or not.
|
|
||||||
I don't
|
|
||||||
think anyone else here is interested in seeing kicad become a proprietary
|
|
||||||
package.
|
|
||||||
|
|
||||||
If Dick thinks he can just take the entire code base as his, I'm sure that FSF
|
|
||||||
would help
|
|
||||||
with the legal costs of stopping him. (To donate to FSF see
|
|
||||||
http://www.fsf.org/associate/support_freedom/donate )
|
|
||||||
|
|
||||||
FSF has stepped up to the plate before and stopped people from appropriating GPL
|
|
||||||
software
|
|
||||||
for their own ends. The cost of IP litigation is not cheap, so I would recommend
|
|
||||||
Dick to
|
|
||||||
talk to an IP attorney before doing something stupid.
|
|
||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------
|
|
||||||
Karl Schmidt EMail Karl@...
|
|
||||||
Transtronics, Inc. WEB http://xtronics.com
|
|
||||||
3209 West 9th Street Ph (785) 841-3089
|
|
||||||
Lawrence, KS 66049 FAX (785) 841-0434
|
|
||||||
|
|
||||||
A clear conscience is usually the sign of a bad memory.
|
|
||||||
|
|
||||||
----------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Change Log for Kicad
|
Change Log for Kicad
|
||||||
|
@ -63,6 +6,16 @@ Started 2007-June-11
|
||||||
Please add newer entries at the top, list the date and your name with
|
Please add newer entries at the top, list the date and your name with
|
||||||
email address.
|
email address.
|
||||||
|
|
||||||
|
2008-Jan-28 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
|
||||||
|
================================================================================
|
||||||
|
+pcbnew:
|
||||||
|
- Better criteria to find starting poind in zone filling: the filling alg. uses
|
||||||
|
pads, vias and track ends to find where start the filling.
|
||||||
|
- Added a tool + option in popup menu in track mode (select track width):
|
||||||
|
when creating a track, if activated: if we starts on an existing track,
|
||||||
|
the new track takes the width of the existing track
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2008-Jan-27 UPDATE Dick Hollenbeck <dick@softplc.com>
|
2008-Jan-27 UPDATE Dick Hollenbeck <dick@softplc.com>
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
|
@ -1,309 +0,0 @@
|
||||||
libs.dynamic
|
|
||||||
|
|
||||||
CC = `wx-config --cc`
|
|
||||||
# Note: at least on Debian using gcc gives a smaller binary than using:
|
|
||||||
# `wx-config --ld`
|
|
||||||
LD = gcc
|
|
||||||
|
|
||||||
SRCSUFF = .cpp
|
|
||||||
OBJSUFF = .o
|
|
||||||
FINAL = 1
|
|
||||||
|
|
||||||
WXPATH = `wx-config --prefix`/lib
|
|
||||||
PREFIX_WX_LIBS = `wx-config --basename`
|
|
||||||
SUFFIX_WX_LIBGL = _gl-$(LIBVERSION)
|
|
||||||
|
|
||||||
LIBSTDC = -lstdc++
|
|
||||||
LIBVERSION=`wx-config --release`
|
|
||||||
WXSYSLIB= `wx-config --libs`
|
|
||||||
|
|
||||||
# attention à l'ordre des libairies
|
|
||||||
LIBS = -L/usr/local/lib -L/usr/X11R6/lib\
|
|
||||||
$(EXTRALIBS) $(WXSYSLIB)\
|
|
||||||
$(LIBSTDC)
|
|
||||||
|
|
||||||
LIBS3D = -l$(PREFIX_WX_LIBS)$(SUFFIX_WX_LIBGL) -lGL -lGLU
|
|
||||||
|
|
||||||
# Sub-projects
|
|
||||||
KICAD_SUBDIRS = common 3d-viewer eeschema pcbnew cvpcb kicad gerbview wxhtml
|
|
||||||
# How to invoke make
|
|
||||||
MAKE := $(MAKE) -f makefile.gtk
|
|
||||||
# File with the libraries definitions
|
|
||||||
LIBSDEF = libs.dynamic
|
|
||||||
# Prefix, can be from command line
|
|
||||||
ifneq ($(strip $(prefix)),)
|
|
||||||
IPREFIX=$(prefix)
|
|
||||||
else
|
|
||||||
IPREFIX=/usr/local/kicad/linux
|
|
||||||
endif
|
|
||||||
# Install tool, can be from command line
|
|
||||||
ifeq ($(INSTALL),)
|
|
||||||
INSTALL=install
|
|
||||||
endif
|
|
||||||
# C Flags, can be from command line
|
|
||||||
ifeq ($(CFLAGS),)
|
|
||||||
CFLAGS=-Wall -O2
|
|
||||||
#CFLAGS=-Wall -Werror -g3
|
|
||||||
endif
|
|
||||||
CFLAGS:=$(CFLAGS) `wx-config --cxxflags`
|
|
||||||
# Linker flags (strip)
|
|
||||||
LDFLAGS = -s
|
|
||||||
export
|
|
||||||
|
|
||||||
.PHONY: $(KICAD_SUBDIRS)
|
|
||||||
|
|
||||||
all: $(KICAD_SUBDIRS)
|
|
||||||
|
|
||||||
common:
|
|
||||||
cd $@ ; $(MAKE)
|
|
||||||
|
|
||||||
3d-viewer:
|
|
||||||
cd $@ ; $(MAKE)
|
|
||||||
|
|
||||||
eeschema:
|
|
||||||
cd $@ ; $(MAKE)
|
|
||||||
|
|
||||||
pcbnew:
|
|
||||||
cd $@ ; $(MAKE)
|
|
||||||
|
|
||||||
cvpcb:
|
|
||||||
cd $@ ; $(MAKE)
|
|
||||||
|
|
||||||
kicad:
|
|
||||||
cd $@ ; $(MAKE)
|
|
||||||
|
|
||||||
gerbview:
|
|
||||||
cd $@ ; $(MAKE)
|
|
||||||
|
|
||||||
wxhtml:
|
|
||||||
cd $@ ; $(MAKE)
|
|
||||||
|
|
||||||
install:
|
|
||||||
@for d in $(KICAD_SUBDIRS); do (cd $$d && $(MAKE) install); done
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@for d in $(KICAD_SUBDIRS); do (cd $$d && $(MAKE) clean); done
|
|
||||||
|
|
||||||
3d-viewer/makefile.gtk
|
|
||||||
## Makefile for 3d-viewer.a ( wxGTK - LINUX )
|
|
||||||
|
|
||||||
# Compiler flags.
|
|
||||||
CPPFLAGS = $(CFLAGS) -DPCBNEW -I../pcbnew -I ../include -I../common
|
|
||||||
|
|
||||||
include ../$(LIBSDEF)
|
|
||||||
|
|
||||||
TARGET = 3d-viewer
|
|
||||||
|
|
||||||
all: $(TARGET).a
|
|
||||||
|
|
||||||
include makefile.include
|
|
||||||
|
|
||||||
$(TARGET).a: $(OBJECTS3D) makefile.gtk makefile.include
|
|
||||||
rm -f $@
|
|
||||||
ar -rv $@ $(OBJECTS3D)
|
|
||||||
ranlib $@
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm *.o *.a *~ .*~ core *.bak *.exe *.obj 2> /dev/null
|
|
||||||
|
|
||||||
# No install target
|
|
||||||
|
|
||||||
## Makefile for common.a
|
|
||||||
|
|
||||||
# Compiler flags.
|
|
||||||
CPPFLAGS = $(CFLAGS) -I./ -I../include
|
|
||||||
EDACPPFLAGS = $(CPPFLAGS)
|
|
||||||
|
|
||||||
all: common.a
|
|
||||||
|
|
||||||
include makefile.include
|
|
||||||
|
|
||||||
CPPFLAGS += $(EXTRACPPFLAGS)
|
|
||||||
EDACPPFLAGS = $(CPPFLAGS)
|
|
||||||
|
|
||||||
|
|
||||||
common.a: $(OBJECTS) makefile.gtk makefile.include
|
|
||||||
rm -f $@
|
|
||||||
ar -rv $@ $(OBJECTS)
|
|
||||||
ranlib $@
|
|
||||||
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm *.o *.a *~ .*~ core *.bak *.exe *.obj 2> /dev/null
|
|
||||||
|
|
||||||
# No install target
|
|
||||||
|
|
||||||
# File: makefile
|
|
||||||
|
|
||||||
# Compiler flags.
|
|
||||||
CPPFLAGS = $(CFLAGS)
|
|
||||||
EDACPPFLAGS = $(CPPFLAGS)
|
|
||||||
|
|
||||||
include ../$(LIBSDEF)
|
|
||||||
|
|
||||||
|
|
||||||
TARGET = cvpcb
|
|
||||||
|
|
||||||
all: $(TARGET)
|
|
||||||
|
|
||||||
include makefile.include
|
|
||||||
|
|
||||||
CPPFLAGS += $(EXTRACPPFLAGS)
|
|
||||||
EDACPPFLAGS = $(CPPFLAGS)
|
|
||||||
|
|
||||||
|
|
||||||
$(TARGET): $(OBJECTS) makefile.gtk makefile.include $(EXTRALIBS) ../$(LIBSDEF) $(LIBVIEWER3D)
|
|
||||||
$(LD) $(OBJECTS) $(LDFLAGS) $(LIBS) $(LIBVIEWER3D) $(LIBS3D) -o $(TARGET)
|
|
||||||
|
|
||||||
install:
|
|
||||||
$(INSTALL) -d -m 0755 $(IPREFIX)
|
|
||||||
$(INSTALL) -m 0755 $(TARGET) $(IPREFIX)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm *.o *.a *~ .*~ core *.bak *.exe *.obj $(TARGET) 2> /dev/null
|
|
||||||
|
|
||||||
## Makefile for eeschema
|
|
||||||
|
|
||||||
include ../$(LIBSDEF)
|
|
||||||
|
|
||||||
TARGET = eeschema
|
|
||||||
|
|
||||||
CPPFLAGS = $(CFLAGS)
|
|
||||||
|
|
||||||
all: $(TARGET)
|
|
||||||
|
|
||||||
include makefile.include
|
|
||||||
|
|
||||||
CPPFLAGS += $(EXTRACPPFLAGS)
|
|
||||||
EDACPPFLAGS = $(CPPFLAGS)
|
|
||||||
|
|
||||||
$(TARGET): $(OBJECTS) makefile.gtk makefile.include $(EXTRALIBS) ../$(LIBSDEF)
|
|
||||||
$(LD) $(OBJECTS) $(LDFLAGS) $(LIBS) -o $(TARGET)
|
|
||||||
|
|
||||||
install:
|
|
||||||
$(INSTALL) -d -m 0755 $(IPREFIX)
|
|
||||||
$(INSTALL) -m 0755 $(TARGET) $(IPREFIX)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm *.o *.a *~ .*~ core *.bak *.exe *.obj $(TARGET) 2> /dev/null
|
|
||||||
|
|
||||||
|
|
||||||
## Makefile for GERBVIEW et wxGTK
|
|
||||||
|
|
||||||
# Compiler flags.
|
|
||||||
CPPFLAGS = $(CFLAGS)
|
|
||||||
|
|
||||||
EXTRALIBS = ../common/common.a
|
|
||||||
include ../$(LIBSDEF)
|
|
||||||
|
|
||||||
|
|
||||||
TARGET = gerbview
|
|
||||||
|
|
||||||
all: $(TARGET)
|
|
||||||
|
|
||||||
include makefile.include
|
|
||||||
|
|
||||||
CPPFLAGS += $(EXTRACPPFLAGS)
|
|
||||||
EDACPPFLAGS = $(CPPFLAGS)
|
|
||||||
|
|
||||||
|
|
||||||
$(TARGET): $(OBJECTS) makefile.gtk makefile.include $(EXTRALIBS) ../$(LIBSDEF)
|
|
||||||
$(LD) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $(TARGET)
|
|
||||||
|
|
||||||
install:
|
|
||||||
$(INSTALL) -d -m 0755 $(IPREFIX)
|
|
||||||
$(INSTALL) -m 0755 $(TARGET) $(IPREFIX)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm *.o *.a *~ .*~ core *.bak *.exe *.obj $(TARGET) 2> /dev/null
|
|
||||||
|
|
||||||
# File: makefile for kicad, wxGTK
|
|
||||||
|
|
||||||
# Compiler flags.
|
|
||||||
CPPFLAGS = $(CFLAGS)
|
|
||||||
|
|
||||||
include ../$(LIBSDEF)
|
|
||||||
|
|
||||||
TARGET = kicad
|
|
||||||
|
|
||||||
all: $(TARGET)
|
|
||||||
|
|
||||||
include makefile.include
|
|
||||||
|
|
||||||
CPPFLAGS += $(EXTRACPPFLAGS)
|
|
||||||
EDACPPFLAGS = $(CPPFLAGS)
|
|
||||||
|
|
||||||
|
|
||||||
$(TARGET): $(OBJECTS) makefile.gtk $(EXTRALIBS) ../$(LIBSDEF)
|
|
||||||
$(LD) $(OBJECTS) $(LDFLAGS) $(LIBS) -o $(TARGET)
|
|
||||||
|
|
||||||
install:
|
|
||||||
$(INSTALL) -d -m 0755 $(IPREFIX)
|
|
||||||
$(INSTALL) -m 0755 $(TARGET) $(IPREFIX)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm *.o *.a *~ .*~ core *.bak *.exe *.obj $(TARGET) 2> /dev/null
|
|
||||||
|
|
||||||
## Makefile for PCBNEW et wxGTK
|
|
||||||
|
|
||||||
# Compiler flags.
|
|
||||||
CPPFLAGS = $(CFLAGS)
|
|
||||||
|
|
||||||
include ../$(LIBSDEF)
|
|
||||||
|
|
||||||
TARGET = pcbnew
|
|
||||||
|
|
||||||
all: $(TARGET)
|
|
||||||
|
|
||||||
include makefile.include
|
|
||||||
|
|
||||||
CPPFLAGS += $(EXTRACPPFLAGS)
|
|
||||||
EDACPPFLAGS = $(CPPFLAGS)
|
|
||||||
|
|
||||||
$(TARGET): $(OBJECTS) makefile.gtk makefile.include $(LIBVIEWER3D) $(EXTRALIBS) ../$(LIBSDEF)
|
|
||||||
$(LD) $(LDFLAGS) $(OBJECTS) $(LIBS) $(LIBVIEWER3D) $(LIBS3D)\
|
|
||||||
-o $(TARGET)
|
|
||||||
|
|
||||||
install:
|
|
||||||
$(INSTALL) -d -m 0755 $(IPREFIX)
|
|
||||||
$(INSTALL) -m 0755 $(TARGET) $(IPREFIX)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm *.o *.a *~ .*~ core *.bak *.exe *.obj $(TARGET) 2> /dev/null
|
|
||||||
|
|
||||||
########################################################################
|
|
||||||
########################################################################
|
|
||||||
|
|
||||||
# Compiler flags.
|
|
||||||
CPPFLAGS = $(CFLAGS) -I./ -I../include -I../common
|
|
||||||
|
|
||||||
EXTRALIBS =
|
|
||||||
|
|
||||||
include ../$(LIBSDEF)
|
|
||||||
|
|
||||||
TARGET = wxhtml
|
|
||||||
|
|
||||||
OBJDIR =
|
|
||||||
OBJSUFF = o
|
|
||||||
|
|
||||||
.SUFFIXES: .cpp .h .o .cc
|
|
||||||
.cpp.o :
|
|
||||||
$(CC) -c $< -o $(<:.cpp=.o) $(CPPFLAGS)
|
|
||||||
|
|
||||||
|
|
||||||
DEPEND =
|
|
||||||
|
|
||||||
|
|
||||||
OBJECTS = $(TARGET).o helpfrm.o
|
|
||||||
|
|
||||||
|
|
||||||
$(TARGET): $(OBJECTS) makefile.gtk ../common/common.a ../$(LIBSDEF)
|
|
||||||
$(LD) $(OBJECTS) $(LDFLAGS) $(LIBS) -o $(TARGET)
|
|
||||||
|
|
||||||
install:
|
|
||||||
$(INSTALL) -d -m 0755 $(IPREFIX)
|
|
||||||
$(INSTALL) -m 0755 $(TARGET) $(IPREFIX)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm *.o *.a *~ .*~ core *.bak *.exe *.obj $(TARGET) 2> /dev/null
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ IF(WIN32)
|
||||||
IF(MINGW)
|
IF(MINGW)
|
||||||
# resource compilation for mingw (http://www.cmake.org/Bug/view.php?id=4068)
|
# resource compilation for mingw (http://www.cmake.org/Bug/view.php?id=4068)
|
||||||
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cvpcb_rc.o
|
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cvpcb_rc.o
|
||||||
COMMAND windres.exe -I ${CMAKE_CURRENT_SOURCE_DIR}
|
COMMAND windres.exe -I ${CMAKE_CURRENT_SOURCE_DIR}} -I ${wxWidgets_ROOT_DIR}/include
|
||||||
-i ${CMAKE_CURRENT_SOURCE_DIR}/cvpcb.rc
|
-i ${CMAKE_CURRENT_SOURCE_DIR}/cvpcb.rc
|
||||||
-o ${CMAKE_CURRENT_BINARY_DIR}/cvpcb_rc.o)
|
-o ${CMAKE_CURRENT_BINARY_DIR}/cvpcb_rc.o)
|
||||||
SET(CVPCB_RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/cvpcb_rc.o)
|
SET(CVPCB_RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/cvpcb_rc.o)
|
||||||
|
|
|
@ -106,7 +106,7 @@ IF(WIN32)
|
||||||
IF(MINGW)
|
IF(MINGW)
|
||||||
# resource compilation for mingw (http://www.cmake.org/Bug/view.php?id=4068)
|
# resource compilation for mingw (http://www.cmake.org/Bug/view.php?id=4068)
|
||||||
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/eeschema_rc.o
|
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/eeschema_rc.o
|
||||||
COMMAND windres.exe -I ${CMAKE_CURRENT_SOURCE_DIR}
|
COMMAND windres.exe -I ${CMAKE_CURRENT_SOURCE_DIR}} -I ${wxWidgets_ROOT_DIR}/include
|
||||||
-i ${CMAKE_CURRENT_SOURCE_DIR}/eeschema.rc
|
-i ${CMAKE_CURRENT_SOURCE_DIR}/eeschema.rc
|
||||||
-o ${CMAKE_CURRENT_BINARY_DIR}/eeschema_rc.o)
|
-o ${CMAKE_CURRENT_BINARY_DIR}/eeschema_rc.o)
|
||||||
SET(EESCHEMA_RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/eeschema_rc.o)
|
SET(EESCHEMA_RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/eeschema_rc.o)
|
||||||
|
|
|
@ -62,7 +62,7 @@ IF(WIN32)
|
||||||
IF(MINGW)
|
IF(MINGW)
|
||||||
# resource compilation for mingw (http://www.cmake.org/Bug/view.php?id=4068)
|
# resource compilation for mingw (http://www.cmake.org/Bug/view.php?id=4068)
|
||||||
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/gerbview_rc.o
|
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/gerbview_rc.o
|
||||||
COMMAND windres.exe -I ${CMAKE_CURRENT_SOURCE_DIR}
|
COMMAND windres.exe -I ${CMAKE_CURRENT_SOURCE_DIR} -I ${wxWidgets_ROOT_DIR}/include
|
||||||
-i ${CMAKE_CURRENT_SOURCE_DIR}/gerbview.rc
|
-i ${CMAKE_CURRENT_SOURCE_DIR}/gerbview.rc
|
||||||
-o ${CMAKE_CURRENT_BINARY_DIR}/gerbview_rc.o)
|
-o ${CMAKE_CURRENT_BINARY_DIR}/gerbview_rc.o)
|
||||||
SET(GERBVIEW_RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/gerbview_rc.o)
|
SET(GERBVIEW_RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/gerbview_rc.o)
|
||||||
|
|
|
@ -186,7 +186,10 @@
|
||||||
#include "../bitmaps/transistor.xpm"
|
#include "../bitmaps/transistor.xpm"
|
||||||
#include "../bitmaps/kicad_icon_small.xpm"
|
#include "../bitmaps/kicad_icon_small.xpm"
|
||||||
#include "../bitmaps/general_ratsnet.xpm"
|
#include "../bitmaps/general_ratsnet.xpm"
|
||||||
|
#include "../bitmaps/Add_Tracks.xpm"
|
||||||
|
#include "../bitmaps/Auto_track_width.xpm"
|
||||||
#include "../bitmaps/fill_zone.xpm"
|
#include "../bitmaps/fill_zone.xpm"
|
||||||
|
#include "../bitmaps/Width_Segment.xpm"
|
||||||
|
|
||||||
// Largeur du toolbar vertical
|
// Largeur du toolbar vertical
|
||||||
#define VTOOLBAR_WIDTH 26
|
#define VTOOLBAR_WIDTH 26
|
||||||
|
|
11
include/id.h
11
include/id.h
|
@ -548,17 +548,17 @@ enum main_id {
|
||||||
ID_POPUP_PCB_DELETE_TRACKNET,
|
ID_POPUP_PCB_DELETE_TRACKNET,
|
||||||
ID_POPUP_PCB_DELETE_TRACK_MNU,
|
ID_POPUP_PCB_DELETE_TRACK_MNU,
|
||||||
|
|
||||||
ID_POPUP_PCB_EDIT_ZONE_PARAMS,
|
|
||||||
ID_POPUP_PCB_DELETE_ZONE,
|
|
||||||
ID_POPUP_PCB_MOVE_ZONE_CORNER,
|
ID_POPUP_PCB_MOVE_ZONE_CORNER,
|
||||||
ID_POPUP_PCB_ADD_ZONE_CORNER,
|
ID_POPUP_PCB_ADD_ZONE_CORNER,
|
||||||
ID_POPUP_PCB_DELETE_ZONE_CORNER,
|
ID_POPUP_PCB_DELETE_ZONE_CORNER,
|
||||||
ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE,
|
ID_POPUP_PCB_PLACE_ZONE_CORNER,
|
||||||
ID_POPUP_PCB_DELETE_ZONE_LAST_CREATED_CORNER,
|
ID_POPUP_PCB_DELETE_ZONE_LAST_CREATED_CORNER,
|
||||||
|
ID_POPUP_PCB_EDIT_ZONE_PARAMS,
|
||||||
|
ID_POPUP_PCB_DELETE_ZONE,
|
||||||
|
ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE,
|
||||||
ID_POPUP_PCB_FILL_ALL_ZONES,
|
ID_POPUP_PCB_FILL_ALL_ZONES,
|
||||||
ID_POPUP_PCB_FILL_ZONE,
|
ID_POPUP_PCB_FILL_ZONE,
|
||||||
ID_POPUP_PCB_DELETE_ZONE_CONTAINER,
|
ID_POPUP_PCB_DELETE_ZONE_CONTAINER,
|
||||||
ID_POPUP_PCB_PLACE_ZONE_CORNER,
|
|
||||||
ID_POPUP_PCB_ZONE_ADD_SIMILAR_ZONE,
|
ID_POPUP_PCB_ZONE_ADD_SIMILAR_ZONE,
|
||||||
ID_POPUP_PCB_ZONE_ADD_CUTOUT_ZONE,
|
ID_POPUP_PCB_ZONE_ADD_CUTOUT_ZONE,
|
||||||
ID_POPUP_PCB_DELETE_ZONE_CUTOUT,
|
ID_POPUP_PCB_DELETE_ZONE_CUTOUT,
|
||||||
|
@ -587,6 +587,7 @@ enum main_id {
|
||||||
ID_POPUP_PCB_EXPORT_PAD_SETTINGS,
|
ID_POPUP_PCB_EXPORT_PAD_SETTINGS,
|
||||||
|
|
||||||
ID_POPUP_PCB_SELECT_WIDTH,
|
ID_POPUP_PCB_SELECT_WIDTH,
|
||||||
|
ID_POPUP_PCB_SELECT_AUTO_WIDTH,
|
||||||
ID_POPUP_PCB_SELECT_WIDTH1,
|
ID_POPUP_PCB_SELECT_WIDTH1,
|
||||||
ID_POPUP_PCB_SELECT_WIDTH2,
|
ID_POPUP_PCB_SELECT_WIDTH2,
|
||||||
ID_POPUP_PCB_SELECT_WIDTH3,
|
ID_POPUP_PCB_SELECT_WIDTH3,
|
||||||
|
@ -731,7 +732,7 @@ enum main_id {
|
||||||
ID_AUX_TOOLBAR_PCB_VIA_SIZE,
|
ID_AUX_TOOLBAR_PCB_VIA_SIZE,
|
||||||
ID_AUX_TOOLBAR_PCB_TRACK_WIDTH,
|
ID_AUX_TOOLBAR_PCB_TRACK_WIDTH,
|
||||||
ID_AUX_TOOLBAR_PCB_SELECT_LAYER_PAIR,
|
ID_AUX_TOOLBAR_PCB_SELECT_LAYER_PAIR,
|
||||||
ID_AUX_TOOLBAR_PCB_UNUSED2,
|
ID_AUX_TOOLBAR_PCB_SELECT_AUTO_WIDTH,
|
||||||
ID_AUX_TOOLBAR_PCB_UNUSED3,
|
ID_AUX_TOOLBAR_PCB_UNUSED3,
|
||||||
ID_AUX_TOOLBAR_PCB_UNUSED4,
|
ID_AUX_TOOLBAR_PCB_UNUSED4,
|
||||||
ID_AUX_TOOLBAR_PCB_UNUSED5,
|
ID_AUX_TOOLBAR_PCB_UNUSED5,
|
||||||
|
|
|
@ -79,35 +79,36 @@
|
||||||
/*************************************/
|
/*************************************/
|
||||||
/* constantes de gestion des couches */
|
/* constantes de gestion des couches */
|
||||||
/*************************************/
|
/*************************************/
|
||||||
#define CUIVRE_LAYER (1<<COPPER_LAYER_N) ///< bit mask for copper layer
|
#define CUIVRE_LAYER (1 << COPPER_LAYER_N) ///< bit mask for copper layer
|
||||||
#define LAYER_2 (1<<LAYER_N_2) ///< bit mask for layer 2
|
#define LAYER_2 (1 << LAYER_N_2) ///< bit mask for layer 2
|
||||||
#define LAYER_3 (1<<LAYER_N_3) ///< bit mask for layer 3
|
#define LAYER_3 (1 << LAYER_N_3) ///< bit mask for layer 3
|
||||||
#define LAYER_4 (1<<LAYER_N_4) ///< bit mask for layer 4
|
#define LAYER_4 (1 << LAYER_N_4) ///< bit mask for layer 4
|
||||||
#define LAYER_5 (1<<LAYER_N_5) ///< bit mask for layer 5
|
#define LAYER_5 (1 << LAYER_N_5) ///< bit mask for layer 5
|
||||||
#define LAYER_6 (1<<LAYER_N_6) ///< bit mask for layer 6
|
#define LAYER_6 (1 << LAYER_N_6) ///< bit mask for layer 6
|
||||||
#define LAYER_7 (1<<LAYER_N_7) ///< bit mask for layer 7
|
#define LAYER_7 (1 << LAYER_N_7) ///< bit mask for layer 7
|
||||||
#define LAYER_8 (1<<LAYER_N_8) ///< bit mask for layer 8
|
#define LAYER_8 (1 << LAYER_N_8) ///< bit mask for layer 8
|
||||||
#define LAYER_9 (1<<LAYER_N_9) ///< bit mask for layer 9
|
#define LAYER_9 (1 << LAYER_N_9) ///< bit mask for layer 9
|
||||||
#define LAYER_10 (1<<LAYER_N_10) ///< bit mask for layer 10
|
#define LAYER_10 (1 << LAYER_N_10) ///< bit mask for layer 10
|
||||||
#define LAYER_11 (1<<LAYER_N_11) ///< bit mask for layer 11
|
#define LAYER_11 (1 << LAYER_N_11) ///< bit mask for layer 11
|
||||||
#define LAYER_12 (1<<LAYER_N_12) ///< bit mask for layer 12
|
#define LAYER_12 (1 << LAYER_N_12) ///< bit mask for layer 12
|
||||||
#define LAYER_13 (1<<LAYER_N_13) ///< bit mask for layer 13
|
#define LAYER_13 (1 << LAYER_N_13) ///< bit mask for layer 13
|
||||||
#define LAYER_14 (1<<LAYER_N_14) ///< bit mask for layer 14
|
#define LAYER_14 (1 << LAYER_N_14) ///< bit mask for layer 14
|
||||||
#define LAYER_15 (1<<LAYER_N_15) ///< bit mask for layer 15
|
#define LAYER_15 (1 << LAYER_N_15) ///< bit mask for layer 15
|
||||||
#define CMP_LAYER (1<<LAYER_CMP_N) ///< bit mask for component layer
|
#define CMP_LAYER (1 << LAYER_CMP_N) ///< bit mask for component layer
|
||||||
#define ADHESIVE_LAYER_CU (1<<ADHESIVE_N_CU)
|
#define ADHESIVE_LAYER_CU (1 << ADHESIVE_N_CU)
|
||||||
#define ADHESIVE_LAYER_CMP (1<<ADHESIVE_N_CMP)
|
#define ADHESIVE_LAYER_CMP (1 << ADHESIVE_N_CMP)
|
||||||
#define SOLDERPASTE_LAYER_CU (1<<SOLDERPASTE_N_CU)
|
#define SOLDERPASTE_LAYER_CU (1 << SOLDERPASTE_N_CU)
|
||||||
#define SOLDERPASTE_LAYER_CMP (1<<SOLDERPASTE_N_CMP)
|
#define SOLDERPASTE_LAYER_CMP (1 << SOLDERPASTE_N_CMP)
|
||||||
#define SILKSCREEN_LAYER_CU (1<<SILKSCREEN_N_CU)
|
#define SILKSCREEN_LAYER_CU (1 << SILKSCREEN_N_CU)
|
||||||
#define SILKSCREEN_LAYER_CMP (1<<SILKSCREEN_N_CMP)
|
#define SILKSCREEN_LAYER_CMP (1 << SILKSCREEN_N_CMP)
|
||||||
#define SOLDERMASK_LAYER_CU (1<<SOLDERMASK_N_CU)
|
#define SOLDERMASK_LAYER_CU (1 << SOLDERMASK_N_CU)
|
||||||
#define SOLDERMASK_LAYER_CMP (1<<SOLDERMASK_N_CMP)
|
#define SOLDERMASK_LAYER_CMP (1 << SOLDERMASK_N_CMP)
|
||||||
#define DRAW_LAYER (1<<DRAW_N)
|
#define DRAW_LAYER (1 << DRAW_N)
|
||||||
#define COMMENT_LAYER (1<<COMMENT_N)
|
#define COMMENT_LAYER (1 << COMMENT_N)
|
||||||
#define ECO1_LAYER (1<<ECO1_N)
|
#define ECO1_LAYER (1 << ECO1_N)
|
||||||
#define ECO2_LAYER (1<<ECO2_N)
|
#define ECO2_LAYER (1 << ECO2_N)
|
||||||
#define EDGE_LAYER (1<<EDGE_N)
|
#define EDGE_LAYER (1 << EDGE_N)
|
||||||
|
|
||||||
// extra bits 0xE0000000
|
// extra bits 0xE0000000
|
||||||
/* masques generaux : */
|
/* masques generaux : */
|
||||||
#define ALL_LAYERS 0x1FFFFFFF
|
#define ALL_LAYERS 0x1FFFFFFF
|
||||||
|
@ -133,6 +134,7 @@ enum Track_Shapes {
|
||||||
class EQUIPOT;
|
class EQUIPOT;
|
||||||
class MARKER;
|
class MARKER;
|
||||||
struct CHEVELU;
|
struct CHEVELU;
|
||||||
|
|
||||||
//class Ki_PageDescr;
|
//class Ki_PageDescr;
|
||||||
//class DrawBlockStruct;
|
//class DrawBlockStruct;
|
||||||
|
|
||||||
|
@ -150,13 +152,15 @@ class EDA_BoardDesignSettings
|
||||||
public:
|
public:
|
||||||
int m_CopperLayerCount; // Number of copper layers for this design
|
int m_CopperLayerCount; // Number of copper layers for this design
|
||||||
int m_ViaDrill; // via drill (for the entire board)
|
int m_ViaDrill; // via drill (for the entire board)
|
||||||
|
int m_ViaDrillCustomValue; // via drill for vias which must have a defined drill value
|
||||||
int m_MicroViaDrill; // micro via drill (for the entire board)
|
int m_MicroViaDrill; // micro via drill (for the entire board)
|
||||||
int m_CurrentViaSize; // Current via size
|
int m_CurrentViaSize; // Current via size
|
||||||
int m_CurrentMicroViaSize; // Current micro via size
|
int m_CurrentMicroViaSize; // Current micro via size
|
||||||
bool m_MicroViasAllowed; // true to allow micro vias
|
bool m_MicroViasAllowed; // true to allow micro vias
|
||||||
int m_ViaSizeHistory[HISTORY_NUMBER]; // Last HISTORY_NUMBER used via sizes
|
int m_ViaSizeHistory[HISTORY_NUMBER]; // Last HISTORY_NUMBER used via sizes
|
||||||
int m_CurrentViaType; // via type (BLIND, TROUGHT ...), bits 1 and 2 (not 0 and 1)
|
int m_CurrentViaType; // via type (VIA_BLIND_BURIED, VIA_TROUGHT VIA_MICROVIA)
|
||||||
int m_CurrentTrackWidth; // current track width
|
int m_CurrentTrackWidth; // current track width
|
||||||
|
bool m_UseConnectedTrackWidth; // if true, when creating a new track starting on an existing track, use this track width
|
||||||
int m_TrackWidthHistory[HISTORY_NUMBER]; // Last HISTORY_NUMBER used track widths
|
int m_TrackWidthHistory[HISTORY_NUMBER]; // Last HISTORY_NUMBER used track widths
|
||||||
int m_DrawSegmentWidth; // current graphic line width (not EDGE layer)
|
int m_DrawSegmentWidth; // current graphic line width (not EDGE layer)
|
||||||
int m_EdgeSegmentWidth; // current graphic line width (EDGE layer only)
|
int m_EdgeSegmentWidth; // current graphic line width (EDGE layer only)
|
||||||
|
@ -165,7 +169,7 @@ public:
|
||||||
int m_TrackClearence; // track to track and track to pads clearance
|
int m_TrackClearence; // track to track and track to pads clearance
|
||||||
int m_ZoneClearence; // zone to track and zone to pads clearance
|
int m_ZoneClearence; // zone to track and zone to pads clearance
|
||||||
int m_MaskMargin; // Solder mask margin
|
int m_MaskMargin; // Solder mask margin
|
||||||
|
|
||||||
// Color options for screen display of the Printed Board:
|
// Color options for screen display of the Printed Board:
|
||||||
int m_PcbGridColor; // Grid color
|
int m_PcbGridColor; // Grid color
|
||||||
int m_LayerColor[32]; // Layer colors (tracks and graphic items)
|
int m_LayerColor[32]; // Layer colors (tracks and graphic items)
|
||||||
|
@ -174,16 +178,16 @@ public:
|
||||||
int m_ModuleTextCUColor; // Text module color for modules on the COPPER layer
|
int m_ModuleTextCUColor; // Text module color for modules on the COPPER layer
|
||||||
int m_ModuleTextNOVColor; // Text module color for "invisible" texts (must be BLACK if really not displayed)
|
int m_ModuleTextNOVColor; // Text module color for "invisible" texts (must be BLACK if really not displayed)
|
||||||
int m_AnchorColor; // Anchor color for modules and texts
|
int m_AnchorColor; // Anchor color for modules and texts
|
||||||
|
|
||||||
int m_PadCUColor; // Pad color for the COPPER side of the pad
|
int m_PadCUColor; // Pad color for the COPPER side of the pad
|
||||||
int m_PadCMPColor; // Pad color for the COMPONENT side of the pad
|
int m_PadCMPColor; // Pad color for the COMPONENT side of the pad
|
||||||
// Pad color for the pads of both sides is m_PadCUColor OR m_PadCMPColor (in terms of colors)
|
// Pad color for the pads of both sides is m_PadCUColor OR m_PadCMPColor (in terms of colors)
|
||||||
|
|
||||||
int m_RatsnestColor; // Ratsnest color
|
int m_RatsnestColor; // Ratsnest color
|
||||||
|
|
||||||
public:
|
public:
|
||||||
EDA_BoardDesignSettings();
|
EDA_BoardDesignSettings();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetVisibleLayers
|
* Function GetVisibleLayers
|
||||||
* returns a bit-map of all the layers that are visible.
|
* returns a bit-map of all the layers that are visible.
|
||||||
|
@ -212,13 +216,13 @@ public:
|
||||||
public:
|
public:
|
||||||
PCB_SCREEN( int idscreen );
|
PCB_SCREEN( int idscreen );
|
||||||
~PCB_SCREEN();
|
~PCB_SCREEN();
|
||||||
|
|
||||||
PCB_SCREEN* Next() { return (PCB_SCREEN*) Pnext; }
|
PCB_SCREEN* Next() { return (PCB_SCREEN*) Pnext; }
|
||||||
void Init();
|
void Init();
|
||||||
void SetNextZoom();
|
void SetNextZoom();
|
||||||
void SetPreviousZoom();
|
void SetPreviousZoom();
|
||||||
void SetLastZoom();
|
void SetLastZoom();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetCurItem
|
* Function GetCurItem
|
||||||
* returns the currently selected BOARD_ITEM, overriding BASE_SCREEN::GetCurItem().
|
* returns the currently selected BOARD_ITEM, overriding BASE_SCREEN::GetCurItem().
|
||||||
|
@ -232,17 +236,17 @@ public:
|
||||||
* It is mainly used to connect BGA to the first inner layer
|
* It is mainly used to connect BGA to the first inner layer
|
||||||
* And it is allowed from an external layer to the first inner layer
|
* And it is allowed from an external layer to the first inner layer
|
||||||
*/
|
*/
|
||||||
bool IsMicroViaAcceptable(void);
|
bool IsMicroViaAcceptable( void );
|
||||||
};
|
};
|
||||||
|
|
||||||
/**********************************/
|
/**********************************/
|
||||||
/* Module (Footprint) description */
|
/* Module (Footprint) description */
|
||||||
/**********************************/
|
/**********************************/
|
||||||
|
|
||||||
#include "class_pad.h" // class for pads
|
#include "class_pad.h" // class for pads
|
||||||
#include "class_edge_mod.h" // Class for footprint graphic elements
|
#include "class_edge_mod.h" // Class for footprint graphic elements
|
||||||
#include "class_text_mod.h" // Class for footprint fields
|
#include "class_text_mod.h" // Class for footprint fields
|
||||||
#include "class_module.h" // Class for the footprint
|
#include "class_module.h" // Class for the footprint
|
||||||
#include "class_equipot.h"
|
#include "class_equipot.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -271,7 +275,7 @@ public:
|
||||||
int DisplayModText;
|
int DisplayModText;
|
||||||
bool DisplayPcbTrackFill; /* FALSE = sketch , TRUE = filled */
|
bool DisplayPcbTrackFill; /* FALSE = sketch , TRUE = filled */
|
||||||
bool DisplayTrackIsol;
|
bool DisplayTrackIsol;
|
||||||
|
|
||||||
int m_DisplayViaMode; /* 0 do not show via hole,
|
int m_DisplayViaMode; /* 0 do not show via hole,
|
||||||
* 1 show via hole for non default value
|
* 1 show via hole for non default value
|
||||||
* 2 show all via hole */
|
* 2 show all via hole */
|
||||||
|
|
Binary file not shown.
2104
internat/fr/kicad.po
2104
internat/fr/kicad.po
File diff suppressed because it is too large
Load Diff
|
@ -17,7 +17,7 @@ IF(WIN32)
|
||||||
IF(MINGW)
|
IF(MINGW)
|
||||||
# resource compilation for mingw (http://www.cmake.org/Bug/view.php?id=4068)
|
# resource compilation for mingw (http://www.cmake.org/Bug/view.php?id=4068)
|
||||||
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kicad_rc.o
|
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kicad_rc.o
|
||||||
COMMAND windres.exe -I ${CMAKE_CURRENT_SOURCE_DIR}
|
COMMAND windres.exe -I ${CMAKE_CURRENT_SOURCE_DIR}} -I ${wxWidgets_ROOT_DIR}/include
|
||||||
-i ${CMAKE_CURRENT_SOURCE_DIR}/kicad.rc
|
-i ${CMAKE_CURRENT_SOURCE_DIR}/kicad.rc
|
||||||
-o ${CMAKE_CURRENT_BINARY_DIR}/kicad_rc.o)
|
-o ${CMAKE_CURRENT_BINARY_DIR}/kicad_rc.o)
|
||||||
SET(KICAD_RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/kicad_rc.o)
|
SET(KICAD_RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/kicad_rc.o)
|
||||||
|
|
|
@ -17,8 +17,8 @@
|
||||||
|
|
||||||
; General Product Description Definitions
|
; General Product Description Definitions
|
||||||
!define PRODUCT_NAME "KiCad"
|
!define PRODUCT_NAME "KiCad"
|
||||||
!define PRODUCT_VERSION "2007.07.09"
|
!define PRODUCT_VERSION "2008.01.25"
|
||||||
!define PRODUCT_WEB_SITE "http://www.lis.inpg.fr/realise_au_lis/kicad/"
|
!define PRODUCT_WEB_SITE "http://iut-tice.ujf-grenoble.fr/kicad/"
|
||||||
!define COMPANY_NAME ""
|
!define COMPANY_NAME ""
|
||||||
!define TRADE_MARKS ""
|
!define TRADE_MARKS ""
|
||||||
!define COPYRIGHT "Jean-Pierre Charras"
|
!define COPYRIGHT "Jean-Pierre Charras"
|
||||||
|
@ -272,4 +272,4 @@ Function CheckAlreadyInstalled
|
||||||
StrCmp $R0 "" +3
|
StrCmp $R0 "" +3
|
||||||
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION $(ALREADY_INSTALLED) /SD IDOK IDOK +2
|
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION $(ALREADY_INSTALLED) /SD IDOK IDOK +2
|
||||||
Abort
|
Abort
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
|
@ -153,7 +153,7 @@ IF(WIN32)
|
||||||
IF(MINGW)
|
IF(MINGW)
|
||||||
# resource compilation for mingw (http://www.cmake.org/Bug/view.php?id=4068)
|
# resource compilation for mingw (http://www.cmake.org/Bug/view.php?id=4068)
|
||||||
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pcbnew_rc.o
|
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pcbnew_rc.o
|
||||||
COMMAND windres.exe -I ${CMAKE_CURRENT_SOURCE_DIR}
|
COMMAND windres.exe -I ${CMAKE_CURRENT_SOURCE_DIR}} -I ${wxWidgets_ROOT_DIR}/include
|
||||||
-i ${CMAKE_CURRENT_SOURCE_DIR}/pcbnew.rc
|
-i ${CMAKE_CURRENT_SOURCE_DIR}/pcbnew.rc
|
||||||
-o ${CMAKE_CURRENT_BINARY_DIR}/pcbnew_rc.o)
|
-o ${CMAKE_CURRENT_BINARY_DIR}/pcbnew_rc.o)
|
||||||
SET(PCBNEW_RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/pcbnew_rc.o)
|
SET(PCBNEW_RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/pcbnew_rc.o)
|
||||||
|
|
|
@ -11,9 +11,9 @@ class Pcb3D_GLCanvas;
|
||||||
class D_PAD : public BOARD_ITEM
|
class D_PAD : public BOARD_ITEM
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
int m_NetCode; // Net number for fast comparisons
|
int m_NetCode; // Net number for fast comparisons
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
wxPoint m_Pos; // pad Position on board
|
wxPoint m_Pos; // pad Position on board
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ public:
|
||||||
|
|
||||||
wxString m_Netname; /* Net Name */
|
wxString m_Netname; /* Net Name */
|
||||||
|
|
||||||
int m_Masque_Layer; // Bitwise layer :1= copper layer, 15= cmp,
|
int m_Masque_Layer; // Bitwise layer :1= copper layer, 15= cmp,
|
||||||
// 2..14 = internal layers
|
// 2..14 = internal layers
|
||||||
// 16 .. 31 = technical layers
|
// 16 .. 31 = technical layers
|
||||||
|
|
||||||
|
@ -37,7 +37,19 @@ public:
|
||||||
wxSize m_Drill; // Drill diam (drill shape = PAD_CIRCLE) or drill size(shape = OVAL)
|
wxSize m_Drill; // Drill diam (drill shape = PAD_CIRCLE) or drill size(shape = OVAL)
|
||||||
// for drill shape = PAD_CIRCLE, drill diam = m_Drill.x
|
// for drill shape = PAD_CIRCLE, drill diam = m_Drill.x
|
||||||
|
|
||||||
wxSize m_Offset; // Offset de la forme (pastilles excentrees)
|
wxSize m_Offset; /*This parameter is usefull only for oblong pads (it can be used for other
|
||||||
|
* shapes, but without any interest).
|
||||||
|
* this is the offset between the pad hole and the pad shape (you must
|
||||||
|
* understand here pad shape = copper area around the hole)
|
||||||
|
* Most of cases, the hole is the centre of the shape (m_Offset = 0).
|
||||||
|
* But some board designers use oblong pads with a hole moved to one of the
|
||||||
|
* oblong pad shape ends.
|
||||||
|
* In all cases the pad position is the pad hole.
|
||||||
|
* The physical shape position (used to draw it for instance) is pad
|
||||||
|
* position (m_Pos) + m_Offset.
|
||||||
|
* D_PAD::ReturnShapePos() returns the physical shape position according to
|
||||||
|
* the offset and the pad rotation.*/
|
||||||
|
|
||||||
wxSize m_Size; // X and Y size ( relative to orient 0)
|
wxSize m_Size; // X and Y size ( relative to orient 0)
|
||||||
|
|
||||||
wxSize m_DeltaSize; // delta sur formes rectangle -> trapezes
|
wxSize m_DeltaSize; // delta sur formes rectangle -> trapezes
|
||||||
|
@ -54,6 +66,9 @@ public:
|
||||||
int m_physical_connexion; // variable used in rastnest computations
|
int m_physical_connexion; // variable used in rastnest computations
|
||||||
// handle block number in track connection
|
// handle block number in track connection
|
||||||
|
|
||||||
|
int m_zone_connexion; // variable used in rastnest computations
|
||||||
|
// handle block number in zone connection
|
||||||
|
|
||||||
public:
|
public:
|
||||||
D_PAD( MODULE* parent );
|
D_PAD( MODULE* parent );
|
||||||
D_PAD( D_PAD* pad );
|
D_PAD( D_PAD* pad );
|
||||||
|
@ -72,58 +87,59 @@ public:
|
||||||
{
|
{
|
||||||
return m_Pos;
|
return m_Pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SetPosition( const wxPoint& aPos )
|
void SetPosition( const wxPoint& aPos )
|
||||||
{
|
{
|
||||||
m_Pos = aPos;
|
m_Pos = aPos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* remove from linked list */
|
/* remove from linked list */
|
||||||
void UnLink();
|
void UnLink();
|
||||||
|
|
||||||
/* Reading and writing data on files */
|
/* Reading and writing data on files */
|
||||||
int ReadDescr( FILE* File, int* LineNum = NULL );
|
int ReadDescr( FILE* File, int* LineNum = NULL );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Save
|
* Function Save
|
||||||
* writes the data structures for this object out to a FILE in "*.brd" format.
|
* writes the data structures for this object out to a FILE in "*.brd" format.
|
||||||
* @param aFile The FILE to write to.
|
* @param aFile The FILE to write to.
|
||||||
* @return bool - true if success writing else false.
|
* @return bool - true if success writing else false.
|
||||||
*/
|
*/
|
||||||
bool Save( FILE* aFile ) const;
|
bool Save( FILE* aFile ) const;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* drawing functions */
|
/* drawing functions */
|
||||||
void Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offset, int draw_mode );
|
void Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offset, int draw_mode );
|
||||||
void Draw3D( Pcb3D_GLCanvas* glcanvas );
|
void Draw3D( Pcb3D_GLCanvas* glcanvas );
|
||||||
|
|
||||||
// others
|
// others
|
||||||
void SetPadName( const wxString& name ); // Change pad name
|
void SetPadName( const wxString& name ); // Change pad name
|
||||||
wxString ReturnStringPadName(); // Return pad name as string in a wxString
|
wxString ReturnStringPadName(); // Return pad name as string in a wxString
|
||||||
void ReturnStringPadName( wxString& text ); // Return pad name as string in a buffer
|
void ReturnStringPadName( wxString& text ); // Return pad name as string in a buffer
|
||||||
void ComputeRayon(); // compute m_Rayon, rayon du cercle exinscrit
|
void ComputeRayon(); // compute m_Rayon, rayon du cercle exinscrit
|
||||||
const wxPoint ReturnShapePos(); // retourne la position
|
const wxPoint ReturnShapePos(); // retourne la position
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetNet
|
* Function GetNet
|
||||||
* @return int - the netcode
|
* @return int - the netcode
|
||||||
*/
|
*/
|
||||||
int GetNet() const { return m_NetCode; }
|
int GetNet() const { return m_NetCode; }
|
||||||
void SetNet( int aNetCode ) { m_NetCode = aNetCode; }
|
void SetNet( int aNetCode ) { m_NetCode = aNetCode; }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Display_Infos
|
* Function Display_Infos
|
||||||
* has knowledge about the frame and how and where to put status information
|
* has knowledge about the frame and how and where to put status information
|
||||||
* about this object into the frame's message panel.
|
* about this object into the frame's message panel.
|
||||||
* Is virtual from EDA_BaseStruct.
|
* Is virtual from EDA_BaseStruct.
|
||||||
* @param frame A WinEDA_DrawFrame in which to print status information.
|
* @param frame A WinEDA_DrawFrame in which to print status information.
|
||||||
*/
|
*/
|
||||||
void Display_Infos( WinEDA_DrawFrame* frame );
|
void Display_Infos( WinEDA_DrawFrame* frame );
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function IsOnLayer
|
* Function IsOnLayer
|
||||||
* tests to see if this object is on the given layer. Is virtual so
|
* tests to see if this object is on the given layer. Is virtual so
|
||||||
|
@ -132,9 +148,9 @@ public:
|
||||||
* @param aLayer The layer to test for.
|
* @param aLayer The layer to test for.
|
||||||
* @return bool - true if on given layer, else false.
|
* @return bool - true if on given layer, else false.
|
||||||
*/
|
*/
|
||||||
bool IsOnLayer( int aLayer ) const;
|
bool IsOnLayer( int aLayer ) const;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function HitTest
|
* Function HitTest
|
||||||
* tests if the given wxPoint is within the bounds of this object.
|
* tests if the given wxPoint is within the bounds of this object.
|
||||||
|
@ -152,17 +168,18 @@ public:
|
||||||
{
|
{
|
||||||
return wxT( "PAD" );
|
return wxT( "PAD" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Compare
|
* Function Compare
|
||||||
* compares two pads and return 0 if they are equal.
|
* compares two pads and return 0 if they are equal.
|
||||||
* @return int - <0 if left less than right, 0 if equal, >0 if left greater than right.
|
* @return int - <0 if left less than right, 0 if equal, >0 if left greater than right.
|
||||||
*/
|
*/
|
||||||
static int Compare( const D_PAD* padref, const D_PAD* padcmp );
|
static int Compare( const D_PAD* padref, const D_PAD* padcmp );
|
||||||
|
|
||||||
|
|
||||||
#if defined (DEBUG)
|
#if defined (DEBUG)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Show
|
* Function Show
|
||||||
* is used to output the object tree, currently for debugging only.
|
* is used to output the object tree, currently for debugging only.
|
||||||
|
|
|
@ -127,7 +127,7 @@ EDA_BoardDesignSettings::EDA_BoardDesignSettings()
|
||||||
// Default values for designing boards
|
// Default values for designing boards
|
||||||
{
|
{
|
||||||
int ii;
|
int ii;
|
||||||
|
|
||||||
static const int default_layer_color[32] = {
|
static const int default_layer_color[32] = {
|
||||||
GREEN, LIGHTGRAY, LIGHTGRAY, LIGHTGRAY,
|
GREEN, LIGHTGRAY, LIGHTGRAY, LIGHTGRAY,
|
||||||
LIGHTGRAY, LIGHTGRAY, LIGHTGRAY, LIGHTGRAY,
|
LIGHTGRAY, LIGHTGRAY, LIGHTGRAY, LIGHTGRAY,
|
||||||
|
@ -146,11 +146,16 @@ EDA_BoardDesignSettings::EDA_BoardDesignSettings()
|
||||||
LIGHTGRAY
|
LIGHTGRAY
|
||||||
};
|
};
|
||||||
|
|
||||||
m_CopperLayerCount = 2; // Default design is a double sided board
|
m_CopperLayerCount = 2; // Default design is a double sided board
|
||||||
m_ViaDrill = 250; // via drill (for the entire board)
|
m_ViaDrill = 250; // defualt via drill (for the entire board)
|
||||||
m_CurrentViaSize = 450; // Current via size
|
m_ViaDrillCustomValue = 250; // via drill for vias which must have a defined drill value
|
||||||
m_CurrentViaType = VIA_THROUGH; /* via type (BLIND, TROUGHT ...), bits 1 and 2 (not 0 and 1)*/
|
m_CurrentViaSize = 450; // Current via size
|
||||||
m_CurrentTrackWidth = 170; // current track width
|
m_CurrentViaType = VIA_THROUGH; // via type (VIA_BLIND_BURIED, VIA_TROUGHT VIA_MICROVIA)
|
||||||
|
m_CurrentTrackWidth = 170; // current track width
|
||||||
|
m_UseConnectedTrackWidth = false; // if true, when creating a new track starting on an existing track, use this track width
|
||||||
|
m_MicroViaDrill = 50; // micro via drill (for the entire board)
|
||||||
|
m_CurrentMicroViaSize = 150; // Current micro via size
|
||||||
|
m_MicroViasAllowed = false; // true to allow micro vias
|
||||||
for( ii = 0; ii < HISTORY_NUMBER; ii++ )
|
for( ii = 0; ii < HISTORY_NUMBER; ii++ )
|
||||||
{
|
{
|
||||||
m_TrackWidthHistory[ii] = 0; // Last HISTORY_NUMBER used track widths
|
m_TrackWidthHistory[ii] = 0; // Last HISTORY_NUMBER used track widths
|
||||||
|
|
|
@ -399,7 +399,7 @@ void WinEDA_PcbTracksDialog::SetDisplayValue()
|
||||||
Internal_Unit );
|
Internal_Unit );
|
||||||
PutValueInLocalUnits( *m_OptViaDrill, g_DesignSettings.m_ViaDrill, Internal_Unit );
|
PutValueInLocalUnits( *m_OptViaDrill, g_DesignSettings.m_ViaDrill, Internal_Unit );
|
||||||
PutValueInLocalUnits( *m_MicroViaDrillCtrl, g_DesignSettings.m_MicroViaDrill, Internal_Unit );
|
PutValueInLocalUnits( *m_MicroViaDrillCtrl, g_DesignSettings.m_MicroViaDrill, Internal_Unit );
|
||||||
PutValueInLocalUnits( *m_OptCustomViaDrill, g_ViaHoleLastValue, Internal_Unit );
|
PutValueInLocalUnits( *m_OptCustomViaDrill, g_DesignSettings.m_ViaDrillCustomValue, Internal_Unit );
|
||||||
PutValueInLocalUnits( *m_OptTrackWidth, g_DesignSettings.m_CurrentTrackWidth, Internal_Unit );
|
PutValueInLocalUnits( *m_OptTrackWidth, g_DesignSettings.m_CurrentTrackWidth, Internal_Unit );
|
||||||
PutValueInLocalUnits( *m_OptTrackClearance, g_DesignSettings.m_TrackClearence, Internal_Unit );
|
PutValueInLocalUnits( *m_OptTrackClearance, g_DesignSettings.m_TrackClearence, Internal_Unit );
|
||||||
PutValueInLocalUnits( *m_OptMaskMargin, g_DesignSettings.m_MaskMargin, Internal_Unit );
|
PutValueInLocalUnits( *m_OptMaskMargin, g_DesignSettings.m_MaskMargin, Internal_Unit );
|
||||||
|
@ -431,7 +431,7 @@ void WinEDA_PcbTracksDialog::AcceptPcbOptions( wxCommandEvent& event )
|
||||||
ReturnValueFromTextCtrl( *m_MicroViaDrillCtrl, m_Parent->m_InternalUnits );
|
ReturnValueFromTextCtrl( *m_MicroViaDrillCtrl, m_Parent->m_InternalUnits );
|
||||||
g_DesignSettings.m_ViaDrill =
|
g_DesignSettings.m_ViaDrill =
|
||||||
ReturnValueFromTextCtrl( *m_OptViaDrill, m_Parent->m_InternalUnits );
|
ReturnValueFromTextCtrl( *m_OptViaDrill, m_Parent->m_InternalUnits );
|
||||||
g_ViaHoleLastValue =
|
g_DesignSettings.m_ViaDrillCustomValue =
|
||||||
ReturnValueFromTextCtrl( *m_OptCustomViaDrill, m_Parent->m_InternalUnits );
|
ReturnValueFromTextCtrl( *m_OptCustomViaDrill, m_Parent->m_InternalUnits );
|
||||||
g_DesignSettings.m_MicroViasAllowed = m_AllowMicroViaCtrl->IsChecked();
|
g_DesignSettings.m_MicroViasAllowed = m_AllowMicroViaCtrl->IsChecked();
|
||||||
|
|
||||||
|
|
|
@ -84,6 +84,8 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
case ID_POPUP_PCB_SELECT_LAYER_PAIR:
|
case ID_POPUP_PCB_SELECT_LAYER_PAIR:
|
||||||
case ID_POPUP_PCB_SELECT_NO_CU_LAYER:
|
case ID_POPUP_PCB_SELECT_NO_CU_LAYER:
|
||||||
case ID_POPUP_PCB_SELECT_WIDTH:
|
case ID_POPUP_PCB_SELECT_WIDTH:
|
||||||
|
case ID_POPUP_PCB_SELECT_AUTO_WIDTH:
|
||||||
|
case ID_AUX_TOOLBAR_PCB_SELECT_AUTO_WIDTH:
|
||||||
case ID_POPUP_PCB_SELECT_WIDTH1:
|
case ID_POPUP_PCB_SELECT_WIDTH1:
|
||||||
case ID_POPUP_PCB_SELECT_WIDTH2:
|
case ID_POPUP_PCB_SELECT_WIDTH2:
|
||||||
case ID_POPUP_PCB_SELECT_WIDTH3:
|
case ID_POPUP_PCB_SELECT_WIDTH3:
|
||||||
|
@ -339,7 +341,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
GetScreen()->SetModify();
|
GetScreen()->SetModify();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_PCB_EDIT_NET:
|
case ID_POPUP_PCB_EDIT_NET:
|
||||||
if( GetCurItem() == NULL )
|
if( GetCurItem() == NULL )
|
||||||
break;
|
break;
|
||||||
Edit_Net_Width( &dc, ( (TRACK*) GetCurItem() )->GetNet() );
|
Edit_Net_Width( &dc, ( (TRACK*) GetCurItem() )->GetNet() );
|
||||||
|
@ -833,7 +835,8 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
DisplayTrackSettings();
|
DisplayTrackSettings();
|
||||||
m_SelTrackWidthBox_Changed = FALSE;
|
m_SelTrackWidthBox_Changed = FALSE;
|
||||||
m_SelViaSizeBox_Changed = FALSE;
|
m_SelViaSizeBox_Changed = FALSE;
|
||||||
}
|
g_DesignSettings.m_UseConnectedTrackWidth = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_PCB_SELECT_WIDTH1:
|
case ID_POPUP_PCB_SELECT_WIDTH1:
|
||||||
|
@ -845,6 +848,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
case ID_POPUP_PCB_SELECT_WIDTH7:
|
case ID_POPUP_PCB_SELECT_WIDTH7:
|
||||||
case ID_POPUP_PCB_SELECT_WIDTH8:
|
case ID_POPUP_PCB_SELECT_WIDTH8:
|
||||||
DrawPanel->MouseToCursorSchema();
|
DrawPanel->MouseToCursorSchema();
|
||||||
|
g_DesignSettings.m_UseConnectedTrackWidth = false;
|
||||||
{
|
{
|
||||||
int ii = id - ID_POPUP_PCB_SELECT_WIDTH1;
|
int ii = id - ID_POPUP_PCB_SELECT_WIDTH1;
|
||||||
g_DesignSettings.m_CurrentTrackWidth = g_DesignSettings.m_TrackWidthHistory[ii];
|
g_DesignSettings.m_CurrentTrackWidth = g_DesignSettings.m_TrackWidthHistory[ii];
|
||||||
|
@ -852,6 +856,15 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ID_AUX_TOOLBAR_PCB_SELECT_AUTO_WIDTH:
|
||||||
|
g_DesignSettings.m_UseConnectedTrackWidth = not g_DesignSettings.m_UseConnectedTrackWidth;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ID_POPUP_PCB_SELECT_AUTO_WIDTH:
|
||||||
|
DrawPanel->MouseToCursorSchema();
|
||||||
|
g_DesignSettings.m_UseConnectedTrackWidth = true;
|
||||||
|
break;
|
||||||
|
|
||||||
case ID_POPUP_PCB_SELECT_VIASIZE:
|
case ID_POPUP_PCB_SELECT_VIASIZE:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ static void Exit_Editrack( WinEDA_DrawPanel* Panel, wxDC* DC )
|
||||||
ShowNewTrackWhenMovingCursor( Panel, DC, FALSE );
|
ShowNewTrackWhenMovingCursor( Panel, DC, FALSE );
|
||||||
if( g_HightLigt_Status )
|
if( g_HightLigt_Status )
|
||||||
frame->Hight_Light( DC );
|
frame->Hight_Light( DC );
|
||||||
|
|
||||||
g_HightLigth_NetCode = OldNetCodeSurbrillance;
|
g_HightLigth_NetCode = OldNetCodeSurbrillance;
|
||||||
if( OldEtatSurbrillance )
|
if( OldEtatSurbrillance )
|
||||||
frame->Hight_Light( DC );
|
frame->Hight_Light( DC );
|
||||||
|
@ -59,7 +59,7 @@ static void Exit_Editrack( WinEDA_DrawPanel* Panel, wxDC* DC )
|
||||||
delete track;
|
delete track;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Panel->ManageCurseur = NULL;
|
Panel->ManageCurseur = NULL;
|
||||||
Panel->ForceCloseManageCurseur = NULL;
|
Panel->ForceCloseManageCurseur = NULL;
|
||||||
frame->SetCurItem( NULL );
|
frame->SetCurItem( NULL );
|
||||||
|
@ -73,7 +73,7 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* track, wxDC* DC )
|
||||||
/*
|
/*
|
||||||
* Routine d'initialisation d'un trace de piste et/ou de mise en place d'un
|
* Routine d'initialisation d'un trace de piste et/ou de mise en place d'un
|
||||||
* nouveau point piste
|
* nouveau point piste
|
||||||
*
|
*
|
||||||
* Si pas de piste en cours de trace:
|
* Si pas de piste en cours de trace:
|
||||||
* - Recherche de netname de la nouvelle piste ( pad de depart out netname
|
* - Recherche de netname de la nouvelle piste ( pad de depart out netname
|
||||||
* de la piste si depart sur une ancienne piste
|
* de la piste si depart sur une ancienne piste
|
||||||
|
@ -84,58 +84,69 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* track, wxDC* DC )
|
||||||
* - si DRC OK : addition d'un nouveau point piste
|
* - si DRC OK : addition d'un nouveau point piste
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
D_PAD* pt_pad = NULL;
|
D_PAD* pt_pad = NULL;
|
||||||
TRACK* adr_buf = NULL, * Track;
|
TRACK* TrackOnStartPoint = NULL, * Track;
|
||||||
int masquelayer = g_TabOneLayerMask[GetScreen()->m_Active_Layer];
|
int masquelayer = g_TabOneLayerMask[GetScreen()->m_Active_Layer];
|
||||||
EDA_BaseStruct* LockPoint;
|
EDA_BaseStruct* LockPoint;
|
||||||
wxPoint pos = GetScreen()->m_Curseur;
|
wxPoint pos = GetScreen()->m_Curseur;
|
||||||
|
static int InitialTrackWidthValue; /* first track segment width.
|
||||||
|
* used when we are in the auto tack width mode */
|
||||||
|
|
||||||
DrawPanel->ManageCurseur = ShowNewTrackWhenMovingCursor;
|
DrawPanel->ManageCurseur = ShowNewTrackWhenMovingCursor;
|
||||||
DrawPanel->ForceCloseManageCurseur = Exit_Editrack;
|
DrawPanel->ForceCloseManageCurseur = Exit_Editrack;
|
||||||
|
|
||||||
if( track == NULL ) /* debut reel du trace */
|
if( track == NULL ) /* Starting a new track */
|
||||||
{
|
{
|
||||||
/* effacement surbrillance ancienne */
|
/* undrw old hightlight */
|
||||||
OldNetCodeSurbrillance = g_HightLigth_NetCode;
|
OldNetCodeSurbrillance = g_HightLigth_NetCode;
|
||||||
OldEtatSurbrillance = g_HightLigt_Status;
|
OldEtatSurbrillance = g_HightLigt_Status;
|
||||||
|
|
||||||
if( g_HightLigt_Status )
|
if( g_HightLigt_Status )
|
||||||
Hight_Light( DC );
|
Hight_Light( DC );
|
||||||
|
|
||||||
g_FirstTrackSegment = g_CurrentTrackSegment = new TRACK( m_Pcb );
|
InitialTrackWidthValue = -1; // Set to "no value"
|
||||||
|
g_FirstTrackSegment = g_CurrentTrackSegment = new TRACK( m_Pcb );
|
||||||
g_CurrentTrackSegment->m_Flags = IS_NEW;
|
g_CurrentTrackSegment->m_Flags = IS_NEW;
|
||||||
g_TrackSegmentCount = 1;
|
g_TrackSegmentCount = 1;
|
||||||
g_HightLigth_NetCode = 0;
|
g_HightLigth_NetCode = 0;
|
||||||
|
|
||||||
/* Localisation de la pastille de reference de la piste: */
|
/* Search for a pad at starting point of the new track: */
|
||||||
LockPoint = LocateLockPoint( m_Pcb, pos, masquelayer );
|
LockPoint = LocateLockPoint( m_Pcb, pos, masquelayer );
|
||||||
|
|
||||||
if( LockPoint )
|
if( LockPoint ) // An item (pad or track) is found
|
||||||
{
|
{
|
||||||
if( LockPoint->Type() == TYPEPAD )
|
if( LockPoint->Type() == TYPEPAD )
|
||||||
{
|
{
|
||||||
pt_pad = (D_PAD*) LockPoint;
|
pt_pad = (D_PAD*) LockPoint;
|
||||||
|
|
||||||
/* le debut de la piste est remis sur le centre du pad */
|
/* A pad is found: put the starting point on pad centre */
|
||||||
pos = pt_pad->m_Pos;
|
pos = pt_pad->m_Pos;
|
||||||
g_HightLigth_NetCode = pt_pad->GetNet();
|
g_HightLigth_NetCode = pt_pad->GetNet();
|
||||||
}
|
}
|
||||||
else /* le point d'accrochage est un segment */
|
else /* A track segment is found */
|
||||||
{
|
{
|
||||||
adr_buf = (TRACK*) LockPoint;
|
TrackOnStartPoint = (TRACK*) LockPoint;
|
||||||
g_HightLigth_NetCode = adr_buf->GetNet();
|
g_HightLigth_NetCode = TrackOnStartPoint->GetNet();
|
||||||
CreateLockPoint( &pos.x, &pos.y, adr_buf, NULL );
|
CreateLockPoint( &pos.x, &pos.y, TrackOnStartPoint, NULL );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
build_ratsnest_pad( LockPoint, wxPoint( 0, 0 ), TRUE );
|
build_ratsnest_pad( LockPoint, wxPoint( 0, 0 ), TRUE );
|
||||||
Hight_Light( DC );
|
Hight_Light( DC );
|
||||||
|
|
||||||
g_CurrentTrackSegment->m_Flags = IS_NEW;
|
g_CurrentTrackSegment->m_Flags = IS_NEW;
|
||||||
g_CurrentTrackSegment->SetLayer( GetScreen()->m_Active_Layer );
|
g_CurrentTrackSegment->SetLayer( GetScreen()->m_Active_Layer );
|
||||||
g_CurrentTrackSegment->m_Width = g_DesignSettings.m_CurrentTrackWidth;
|
g_CurrentTrackSegment->m_Width = g_DesignSettings.m_CurrentTrackWidth;
|
||||||
g_CurrentTrackSegment->m_Start = pos;
|
if( g_DesignSettings.m_UseConnectedTrackWidth )
|
||||||
g_CurrentTrackSegment->m_End = g_CurrentTrackSegment->m_Start;
|
{
|
||||||
|
if( TrackOnStartPoint && TrackOnStartPoint->Type() == TYPETRACK )
|
||||||
|
{
|
||||||
|
InitialTrackWidthValue = TrackOnStartPoint->m_Width;
|
||||||
|
g_CurrentTrackSegment->m_Width = InitialTrackWidthValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
g_CurrentTrackSegment->m_Start = pos;
|
||||||
|
g_CurrentTrackSegment->m_End = g_CurrentTrackSegment->m_Start;
|
||||||
g_CurrentTrackSegment->SetNet( g_HightLigth_NetCode );
|
g_CurrentTrackSegment->SetNet( g_HightLigth_NetCode );
|
||||||
if( pt_pad )
|
if( pt_pad )
|
||||||
{
|
{
|
||||||
|
@ -143,10 +154,10 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* track, wxDC* DC )
|
||||||
g_CurrentTrackSegment->SetState( BEGIN_ONPAD, ON );
|
g_CurrentTrackSegment->SetState( BEGIN_ONPAD, ON );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
g_CurrentTrackSegment->start = adr_buf;
|
g_CurrentTrackSegment->start = TrackOnStartPoint;
|
||||||
|
|
||||||
if( g_TwoSegmentTrackBuild )
|
if( g_TwoSegmentTrackBuild )
|
||||||
{
|
{
|
||||||
// Create 2 segments
|
// Create 2 segments
|
||||||
g_CurrentTrackSegment = g_CurrentTrackSegment->Copy();
|
g_CurrentTrackSegment = g_CurrentTrackSegment->Copy();
|
||||||
g_TrackSegmentCount++;
|
g_TrackSegmentCount++;
|
||||||
|
@ -159,7 +170,7 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* track, wxDC* DC )
|
||||||
g_CurrentTrackSegment->Display_Infos( this );
|
g_CurrentTrackSegment->Display_Infos( this );
|
||||||
SetCurItem( g_CurrentTrackSegment );
|
SetCurItem( g_CurrentTrackSegment );
|
||||||
DrawPanel->ManageCurseur( DrawPanel, DC, FALSE );
|
DrawPanel->ManageCurseur( DrawPanel, DC, FALSE );
|
||||||
|
|
||||||
if( Drc_On )
|
if( Drc_On )
|
||||||
{
|
{
|
||||||
if( BAD_DRC == m_drc->Drc( g_CurrentTrackSegment, m_Pcb->m_Track ) )
|
if( BAD_DRC == m_drc->Drc( g_CurrentTrackSegment, m_Pcb->m_Track ) )
|
||||||
|
@ -175,7 +186,7 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* track, wxDC* DC )
|
||||||
{
|
{
|
||||||
if( BAD_DRC == m_drc->Drc( g_CurrentTrackSegment, m_Pcb->m_Track ) )
|
if( BAD_DRC == m_drc->Drc( g_CurrentTrackSegment, m_Pcb->m_Track ) )
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if( g_TwoSegmentTrackBuild // We must handle 2 segments
|
if( g_TwoSegmentTrackBuild // We must handle 2 segments
|
||||||
&& g_CurrentTrackSegment->Back() )
|
&& g_CurrentTrackSegment->Back() )
|
||||||
{
|
{
|
||||||
|
@ -220,7 +231,10 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* track, wxDC* DC )
|
||||||
g_TrackSegmentCount++;
|
g_TrackSegmentCount++;
|
||||||
g_CurrentTrackSegment->m_Start = g_CurrentTrackSegment->m_End;
|
g_CurrentTrackSegment->m_Start = g_CurrentTrackSegment->m_End;
|
||||||
g_CurrentTrackSegment->SetLayer( GetScreen()->m_Active_Layer );
|
g_CurrentTrackSegment->SetLayer( GetScreen()->m_Active_Layer );
|
||||||
g_CurrentTrackSegment->m_Width = g_DesignSettings.m_CurrentTrackWidth;
|
if( !g_DesignSettings.m_UseConnectedTrackWidth )
|
||||||
|
{
|
||||||
|
g_CurrentTrackSegment->m_Width = g_DesignSettings.m_CurrentTrackWidth;
|
||||||
|
}
|
||||||
/* Show the new position */
|
/* Show the new position */
|
||||||
ShowNewTrackWhenMovingCursor( DrawPanel, DC, FALSE );
|
ShowNewTrackWhenMovingCursor( DrawPanel, DC, FALSE );
|
||||||
}
|
}
|
||||||
|
@ -238,7 +252,7 @@ int WinEDA_PcbFrame::Add_45_degrees_Segment( wxDC* DC, TRACK* pt_segm )
|
||||||
|
|
||||||
/* rectifie un virage a 90 et le modifie par 2 coudes a 45
|
/* rectifie un virage a 90 et le modifie par 2 coudes a 45
|
||||||
* n'opere que sur des segments horizontaux ou verticaux.
|
* n'opere que sur des segments horizontaux ou verticaux.
|
||||||
*
|
*
|
||||||
* entree : pointeur sur le segment qui vient d'etre trace
|
* entree : pointeur sur le segment qui vient d'etre trace
|
||||||
* On suppose que le segment precedent est celui qui a ete
|
* On suppose que le segment precedent est celui qui a ete
|
||||||
* precedement trace
|
* precedement trace
|
||||||
|
@ -279,7 +293,7 @@ int WinEDA_PcbFrame::Add_45_degrees_Segment( wxDC* DC, TRACK* pt_segm )
|
||||||
// les segments doivent etre de longueur suffisante:
|
// les segments doivent etre de longueur suffisante:
|
||||||
if( MAX( abs( dx0 ), abs( dy0 ) ) < (pas_45 * 2) )
|
if( MAX( abs( dx0 ), abs( dy0 ) ) < (pas_45 * 2) )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if( MAX( abs( dx1 ), abs( dy1 ) ) < (pas_45 * 2) )
|
if( MAX( abs( dx1 ), abs( dy1 ) ) < (pas_45 * 2) )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -382,7 +396,7 @@ void WinEDA_PcbFrame::End_Route( TRACK* track, wxDC* DC )
|
||||||
if( track == NULL )
|
if( track == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if( Drc_On && BAD_DRC==m_drc->Drc( g_CurrentTrackSegment, m_Pcb->m_Track) )
|
if( Drc_On && BAD_DRC==m_drc->Drc( g_CurrentTrackSegment, m_Pcb->m_Track ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Sauvegarde des coord du point terminal de la piste */
|
/* Sauvegarde des coord du point terminal de la piste */
|
||||||
|
@ -512,15 +526,17 @@ void ShowNewTrackWhenMovingCursor( WinEDA_DrawPanel* panel, wxDC* DC, bool erase
|
||||||
|
|
||||||
/* dessin de la nouvelle piste : mise a jour du point d'arrivee */
|
/* dessin de la nouvelle piste : mise a jour du point d'arrivee */
|
||||||
g_CurrentTrackSegment->SetLayer( screen->m_Active_Layer );
|
g_CurrentTrackSegment->SetLayer( screen->m_Active_Layer );
|
||||||
g_CurrentTrackSegment->m_Width = g_DesignSettings.m_CurrentTrackWidth;
|
if( ! g_DesignSettings.m_UseConnectedTrackWidth )
|
||||||
|
g_CurrentTrackSegment->m_Width = g_DesignSettings.m_CurrentTrackWidth;
|
||||||
if( g_TwoSegmentTrackBuild )
|
if( g_TwoSegmentTrackBuild )
|
||||||
{
|
{
|
||||||
TRACK* previous_track = (TRACK*) g_CurrentTrackSegment->Pback;
|
TRACK* previous_track = (TRACK*) g_CurrentTrackSegment->Pback;
|
||||||
if( previous_track && (previous_track->Type() == TYPETRACK) )
|
if( previous_track && (previous_track->Type() == TYPETRACK) )
|
||||||
{
|
{
|
||||||
previous_track->SetLayer( screen->m_Active_Layer );
|
previous_track->SetLayer( screen->m_Active_Layer );
|
||||||
previous_track->m_Width = g_DesignSettings.m_CurrentTrackWidth;
|
if( ! g_DesignSettings.m_UseConnectedTrackWidth )
|
||||||
}
|
previous_track->m_Width = g_DesignSettings.m_CurrentTrackWidth;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( Track_45_Only )
|
if( Track_45_Only )
|
||||||
|
@ -713,10 +729,10 @@ TRACK* DeleteNullTrackSegments( BOARD* pcb, TRACK* track, int* segmcount )
|
||||||
* return a pointer on the first segment (start of track list)
|
* return a pointer on the first segment (start of track list)
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
TRACK* firsttrack = track;
|
TRACK* firsttrack = track;
|
||||||
TRACK* oldtrack;
|
TRACK* oldtrack;
|
||||||
int nn = 0;
|
int nn = 0;
|
||||||
BOARD_ITEM* LockPoint;
|
BOARD_ITEM* LockPoint;
|
||||||
|
|
||||||
if( track == 0 )
|
if( track == 0 )
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -742,7 +758,7 @@ TRACK* DeleteNullTrackSegments( BOARD* pcb, TRACK* track, int* segmcount )
|
||||||
*segmcount = nn;
|
*segmcount = nn;
|
||||||
|
|
||||||
if( nn == 0 )
|
if( nn == 0 )
|
||||||
return NULL; // all the new track segments have been deleted
|
return NULL; // all the new track segments have been deleted
|
||||||
|
|
||||||
|
|
||||||
// we must set the pointers on connected items and the connection status
|
// we must set the pointers on connected items and the connection status
|
||||||
|
@ -802,7 +818,7 @@ void EnsureEndTrackOnPad( D_PAD* Pad )
|
||||||
|
|
||||||
TRACK* lasttrack = g_CurrentTrackSegment;
|
TRACK* lasttrack = g_CurrentTrackSegment;
|
||||||
if( !g_CurrentTrackSegment->IsNull() )
|
if( !g_CurrentTrackSegment->IsNull() )
|
||||||
{
|
{
|
||||||
/* Must create a new segment, from track end to pad center */
|
/* Must create a new segment, from track end to pad center */
|
||||||
g_CurrentTrackSegment = lasttrack->Copy();
|
g_CurrentTrackSegment = lasttrack->Copy();
|
||||||
g_TrackSegmentCount++;
|
g_TrackSegmentCount++;
|
||||||
|
@ -810,7 +826,7 @@ void EnsureEndTrackOnPad( D_PAD* Pad )
|
||||||
g_CurrentTrackSegment->Pback = lasttrack;
|
g_CurrentTrackSegment->Pback = lasttrack;
|
||||||
lasttrack->end = g_CurrentTrackSegment;
|
lasttrack->end = g_CurrentTrackSegment;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_CurrentTrackSegment->m_End = Pad->m_Pos;
|
g_CurrentTrackSegment->m_End = Pad->m_Pos;
|
||||||
g_CurrentTrackSegment->SetState( END_ONPAD, OFF );
|
g_CurrentTrackSegment->SetState( END_ONPAD, OFF );
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
#include "Global_Options_Pad.xpm"
|
#include "Global_Options_Pad.xpm"
|
||||||
#include "Delete_Pad.xpm"
|
#include "Delete_Pad.xpm"
|
||||||
#include "Export_Options_Pad.xpm"
|
#include "Export_Options_Pad.xpm"
|
||||||
#include "Width_Segment.xpm"
|
|
||||||
#include "Select_Layer_Pair.xpm"
|
#include "Select_Layer_Pair.xpm"
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
|
|
@ -47,7 +47,6 @@
|
||||||
#include "Select_W_Layer.xpm"
|
#include "Select_W_Layer.xpm"
|
||||||
#include "Width_Track.xpm"
|
#include "Width_Track.xpm"
|
||||||
#include "Width_Vias.xpm"
|
#include "Width_Vias.xpm"
|
||||||
#include "Width_Segment.xpm"
|
|
||||||
#include "Width_Net.xpm"
|
#include "Width_Net.xpm"
|
||||||
#include "Width_Track_Via.xpm"
|
#include "Width_Track_Via.xpm"
|
||||||
#include "Select_Layer_Pair.xpm"
|
#include "Select_Layer_Pair.xpm"
|
||||||
|
@ -71,6 +70,16 @@ static wxMenu* Append_Track_Width_List()
|
||||||
double value;
|
double value;
|
||||||
|
|
||||||
trackwidth_menu = new wxMenu;
|
trackwidth_menu = new wxMenu;
|
||||||
|
|
||||||
|
trackwidth_menu->Append( ID_POPUP_PCB_SELECT_AUTO_WIDTH,
|
||||||
|
_( "Auto Width" ),
|
||||||
|
_(
|
||||||
|
"Use the track width when starting on a track, otherwise the current track width" ),
|
||||||
|
TRUE );
|
||||||
|
|
||||||
|
if( g_DesignSettings.m_UseConnectedTrackWidth )
|
||||||
|
trackwidth_menu->Check( ID_POPUP_PCB_SELECT_AUTO_WIDTH, TRUE );
|
||||||
|
|
||||||
for( ii = 0; (ii < HISTORY_NUMBER) && (ii < TRACK_HISTORY_NUMBER_MAX); ii++ )
|
for( ii = 0; (ii < HISTORY_NUMBER) && (ii < TRACK_HISTORY_NUMBER_MAX); ii++ )
|
||||||
{
|
{
|
||||||
if( g_DesignSettings.m_TrackWidthHistory[ii] == 0 )
|
if( g_DesignSettings.m_TrackWidthHistory[ii] == 0 )
|
||||||
|
@ -84,7 +93,9 @@ static wxMenu* Append_Track_Width_List()
|
||||||
msg.Printf( _( "Track %.3f" ), value );
|
msg.Printf( _( "Track %.3f" ), value );
|
||||||
|
|
||||||
trackwidth_menu->Append( ID_POPUP_PCB_SELECT_WIDTH1 + ii, msg, wxEmptyString, TRUE );
|
trackwidth_menu->Append( ID_POPUP_PCB_SELECT_WIDTH1 + ii, msg, wxEmptyString, TRUE );
|
||||||
if( g_DesignSettings.m_TrackWidthHistory[ii] == g_DesignSettings.m_CurrentTrackWidth )
|
|
||||||
|
if( (g_DesignSettings.m_TrackWidthHistory[ii] == g_DesignSettings.m_CurrentTrackWidth)
|
||||||
|
&& ! g_DesignSettings.m_UseConnectedTrackWidth )
|
||||||
trackwidth_menu->Check( ID_POPUP_PCB_SELECT_WIDTH1 + ii, TRUE );
|
trackwidth_menu->Check( ID_POPUP_PCB_SELECT_WIDTH1 + ii, TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,12 +183,12 @@ bool WinEDA_PcbFrame::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu )
|
||||||
// printf( "cursor=(%d, %d) select=(%d,%d)\n", cursorPos.x, cursorPos.y, selectPos.x, selectPos.y );
|
// printf( "cursor=(%d, %d) select=(%d,%d)\n", cursorPos.x, cursorPos.y, selectPos.x, selectPos.y );
|
||||||
|
|
||||||
/* We can reselect another item only if there are no item being edited
|
/* We can reselect another item only if there are no item being edited
|
||||||
* because ALL moving functions use GetCurItem(), therefore GetCurItem()
|
* because ALL moving functions use GetCurItem(), therefore GetCurItem()
|
||||||
* must return the same item during moving. We know an item is moving
|
* must return the same item during moving. We know an item is moving
|
||||||
* if( item && (item->m_Flags != 0)) is true and after calling
|
* if( item && (item->m_Flags != 0)) is true and after calling
|
||||||
* PcbGeneralLocateAndDisplay(), GetCurItem() is any arbitrary BOARD_ITEM,
|
* PcbGeneralLocateAndDisplay(), GetCurItem() is any arbitrary BOARD_ITEM,
|
||||||
* not the current item being edited. In such case we cannot call
|
* not the current item being edited. In such case we cannot call
|
||||||
* PcbGeneralLocateAndDisplay().
|
* PcbGeneralLocateAndDisplay().
|
||||||
*/
|
*/
|
||||||
if( !item || (item->m_Flags == 0) )
|
if( !item || (item->m_Flags == 0) )
|
||||||
{
|
{
|
||||||
|
@ -329,7 +340,7 @@ bool WinEDA_PcbFrame::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu )
|
||||||
wxT( "WinEDA_PcbFrame::OnRightClick() Error: illegal DrawType %d" ),
|
wxT( "WinEDA_PcbFrame::OnRightClick() Error: illegal DrawType %d" ),
|
||||||
item->Type() );
|
item->Type() );
|
||||||
DisplayError( this, msg );
|
DisplayError( this, msg );
|
||||||
SetCurItem(NULL);
|
SetCurItem( NULL );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -337,9 +348,10 @@ bool WinEDA_PcbFrame::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu )
|
||||||
wxT( "WinEDA_PcbFrame::OnRightClick() Error: unknown DrawType %d" ),
|
wxT( "WinEDA_PcbFrame::OnRightClick() Error: unknown DrawType %d" ),
|
||||||
item->Type() );
|
item->Type() );
|
||||||
DisplayError( this, msg );
|
DisplayError( this, msg );
|
||||||
// Attempt to clear error (but should no occurs )
|
|
||||||
if ( item->Type() >= MAX_STRUCT_TYPE_ID )
|
// Attempt to clear error (but should no occurs )
|
||||||
SetCurItem(NULL);
|
if( item->Type() >= MAX_STRUCT_TYPE_ID )
|
||||||
|
SetCurItem( NULL );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -509,21 +521,26 @@ void WinEDA_PcbFrame::createPopupMenuForTracks( TRACK* Track, wxMenu* PopMenu )
|
||||||
ID_POPUP_PCB_VIA_EDITING, _( "Edit Via" ), edit_xpm );
|
ID_POPUP_PCB_VIA_EDITING, _( "Edit Via" ), edit_xpm );
|
||||||
ADD_MENUITEM( via_mnu, ID_POPUP_PCB_VIA_HOLE_TO_DEFAULT,
|
ADD_MENUITEM( via_mnu, ID_POPUP_PCB_VIA_HOLE_TO_DEFAULT,
|
||||||
_( "Set via hole to Default" ), apply_xpm );
|
_( "Set via hole to Default" ), apply_xpm );
|
||||||
ADD_MENUITEM( via_mnu, ID_POPUP_PCB_VIA_HOLE_TO_VALUE, _(
|
msg = _( "Set via hole to a specific value. This specfic value is currently" );
|
||||||
"Set via hole to alt value" ), options_new_pad_xpm );
|
msg << wxT(" ") << ReturnStringFromValue( g_UnitMetric, g_DesignSettings.m_ViaDrillCustomValue, m_InternalUnits );
|
||||||
ADD_MENUITEM( via_mnu, ID_POPUP_PCB_VIA_HOLE_ENTER_VALUE,
|
ADD_MENUITEM_WITH_HELP( via_mnu, ID_POPUP_PCB_VIA_HOLE_TO_VALUE,
|
||||||
_( "Set the via hole alt value" ), edit_xpm );
|
_( "Set via hole to alt value" ), msg,
|
||||||
|
options_new_pad_xpm );
|
||||||
|
msg = _( "Set alt via hole value. This value is currently" );
|
||||||
|
msg << wxT(" ") << ReturnStringFromValue( g_UnitMetric, g_DesignSettings.m_ViaDrillCustomValue, m_InternalUnits );
|
||||||
|
ADD_MENUITEM_WITH_HELP( via_mnu, ID_POPUP_PCB_VIA_HOLE_ENTER_VALUE,
|
||||||
|
_( "Set the via hole alt value" ), msg, edit_xpm );
|
||||||
ADD_MENUITEM( via_mnu, ID_POPUP_PCB_VIA_HOLE_EXPORT, _(
|
ADD_MENUITEM( via_mnu, ID_POPUP_PCB_VIA_HOLE_EXPORT, _(
|
||||||
"Export Via hole to alt value" ), Export_Options_Pad_xpm );
|
"Export Via hole to alt value" ), Export_Options_Pad_xpm );
|
||||||
ADD_MENUITEM( via_mnu, ID_POPUP_PCB_VIA_HOLE_EXPORT_TO_OTHERS,
|
ADD_MENUITEM( via_mnu, ID_POPUP_PCB_VIA_HOLE_EXPORT_TO_OTHERS,
|
||||||
_( "Export via hole to others id vias" ), global_options_pad_xpm );
|
_( "Export via hole to others id vias" ), global_options_pad_xpm );
|
||||||
ADD_MENUITEM( via_mnu, ID_POPUP_PCB_VIA_HOLE_RESET_TO_DEFAULT,
|
ADD_MENUITEM( via_mnu, ID_POPUP_PCB_VIA_HOLE_RESET_TO_DEFAULT,
|
||||||
_( "Set ALL via holes to default" ), apply_xpm );
|
_( "Set ALL via holes to default" ), apply_xpm );
|
||||||
if( ! Track->IsDrillDefault() )
|
if( !Track->IsDrillDefault() )
|
||||||
{
|
{
|
||||||
via_mnu->Enable( ID_POPUP_PCB_VIA_HOLE_EXPORT, FALSE );
|
via_mnu->Enable( ID_POPUP_PCB_VIA_HOLE_EXPORT, FALSE );
|
||||||
}
|
}
|
||||||
if( g_ViaHoleLastValue <= 0 )
|
if( g_DesignSettings.m_ViaDrillCustomValue <= 0 )
|
||||||
via_mnu->Enable( ID_POPUP_PCB_VIA_HOLE_TO_VALUE, FALSE );
|
via_mnu->Enable( ID_POPUP_PCB_VIA_HOLE_TO_VALUE, FALSE );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -563,24 +580,27 @@ void WinEDA_PcbFrame::createPopupMenuForTracks( TRACK* Track, wxMenu* PopMenu )
|
||||||
}
|
}
|
||||||
msg = AddHotkeyName( _( "Place Via" ), s_Board_Editor_Hokeys_Descr, HK_ADD_VIA );
|
msg = AddHotkeyName( _( "Place Via" ), s_Board_Editor_Hokeys_Descr, HK_ADD_VIA );
|
||||||
PopMenu->Append( ID_POPUP_PCB_PLACE_VIA, msg );
|
PopMenu->Append( ID_POPUP_PCB_PLACE_VIA, msg );
|
||||||
// See if we can place a Micro Via (4 or more layers, and start from an external layer):
|
|
||||||
if ( GetScreen()->IsMicroViaAcceptable() )
|
// See if we can place a Micro Via (4 or more layers, and start from an external layer):
|
||||||
{
|
if( GetScreen()->IsMicroViaAcceptable() )
|
||||||
msg = AddHotkeyName( _( "Place Micro Via" ), s_Board_Editor_Hokeys_Descr, HK_ADD_MICROVIA );
|
{
|
||||||
PopMenu->Append( ID_POPUP_PCB_PLACE_MICROVIA, msg );
|
msg = AddHotkeyName( _(
|
||||||
}
|
"Place Micro Via" ), s_Board_Editor_Hokeys_Descr,
|
||||||
|
HK_ADD_MICROVIA );
|
||||||
|
PopMenu->Append( ID_POPUP_PCB_PLACE_MICROVIA, msg );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// track Width control :
|
// track Width control :
|
||||||
wxMenu* track_mnu = new wxMenu;
|
wxMenu* track_mnu;
|
||||||
ADD_MENUITEM_WITH_SUBMENU( PopMenu, track_mnu,
|
if( !flags ) // track Width control :
|
||||||
ID_POPUP_PCB_EDIT_TRACK_MNU, _( "Change Width" ), width_track_xpm );
|
|
||||||
ADD_MENUITEM( track_mnu, ID_POPUP_PCB_EDIT_TRACKSEG,
|
|
||||||
Track->Type()==TYPEVIA ? _( "Edit Via" ) : _(
|
|
||||||
"Edit Segment" ), width_segment_xpm );
|
|
||||||
|
|
||||||
if( !flags )
|
|
||||||
{
|
{
|
||||||
|
track_mnu = new wxMenu;
|
||||||
|
ADD_MENUITEM_WITH_SUBMENU( PopMenu, track_mnu,
|
||||||
|
ID_POPUP_PCB_EDIT_TRACK_MNU, _( "Change Width" ), width_track_xpm );
|
||||||
|
ADD_MENUITEM( track_mnu, ID_POPUP_PCB_EDIT_TRACKSEG,
|
||||||
|
Track->Type()==TYPEVIA ? _( "Edit Via" ) : _( "Edit Segment" ), width_segment_xpm );
|
||||||
|
|
||||||
ADD_MENUITEM( track_mnu, ID_POPUP_PCB_EDIT_TRACK,
|
ADD_MENUITEM( track_mnu, ID_POPUP_PCB_EDIT_TRACK,
|
||||||
_( "Edit Track" ), width_track_xpm );
|
_( "Edit Track" ), width_track_xpm );
|
||||||
ADD_MENUITEM( track_mnu, ID_POPUP_PCB_EDIT_NET,
|
ADD_MENUITEM( track_mnu, ID_POPUP_PCB_EDIT_NET,
|
||||||
|
@ -644,19 +664,19 @@ void WinEDA_PcbFrame::createPopUpMenuForZones( ZONE_CONTAINER* edge_zone, wxMenu
|
||||||
{
|
{
|
||||||
if( edge_zone->m_Flags )
|
if( edge_zone->m_Flags )
|
||||||
{
|
{
|
||||||
if( (edge_zone->m_Flags & IN_EDIT ) )
|
if( (edge_zone->m_Flags & IN_EDIT ) )
|
||||||
ADD_MENUITEM( aPopMenu, ID_POPUP_PCB_PLACE_ZONE_CORNER,
|
ADD_MENUITEM( aPopMenu, ID_POPUP_PCB_PLACE_ZONE_CORNER,
|
||||||
_( "Place Corner" ), apply_xpm );
|
_( "Place Corner" ), apply_xpm );
|
||||||
else
|
else
|
||||||
ADD_MENUITEM( aPopMenu, ID_POPUP_PCB_PLACE_ZONE_OUTLINES,
|
ADD_MENUITEM( aPopMenu, ID_POPUP_PCB_PLACE_ZONE_OUTLINES,
|
||||||
_( "Place Zone" ), apply_xpm );
|
_( "Place Zone" ), apply_xpm );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wxMenu * zones_menu = new wxMenu();
|
wxMenu* zones_menu = new wxMenu();
|
||||||
ADD_MENUITEM_WITH_SUBMENU( aPopMenu, zones_menu,
|
ADD_MENUITEM_WITH_SUBMENU( aPopMenu, zones_menu,
|
||||||
-1, _( "Zones" ), add_zone_xpm );
|
-1, _( "Zones" ), add_zone_xpm );
|
||||||
int index;
|
int index;
|
||||||
if( ( index = edge_zone->HitTestForCorner( GetScreen()->RefPos( true ) ) ) >= 0 )
|
if( ( index = edge_zone->HitTestForCorner( GetScreen()->RefPos( true ) ) ) >= 0 )
|
||||||
{
|
{
|
||||||
ADD_MENUITEM( zones_menu, ID_POPUP_PCB_MOVE_ZONE_CORNER,
|
ADD_MENUITEM( zones_menu, ID_POPUP_PCB_MOVE_ZONE_CORNER,
|
||||||
|
@ -688,10 +708,10 @@ void WinEDA_PcbFrame::createPopUpMenuForZones( ZONE_CONTAINER* edge_zone, wxMenu
|
||||||
_( "Edit Zone Params" ), edit_xpm );
|
_( "Edit Zone Params" ), edit_xpm );
|
||||||
|
|
||||||
zones_menu->AppendSeparator();
|
zones_menu->AppendSeparator();
|
||||||
if ( index >= 0 && edge_zone->m_Poly->IsCutoutContour( edge_zone->m_CornerSelection ) )
|
if( index >= 0 && edge_zone->m_Poly->IsCutoutContour( edge_zone->m_CornerSelection ) )
|
||||||
ADD_MENUITEM( zones_menu, ID_POPUP_PCB_DELETE_ZONE_CUTOUT,
|
ADD_MENUITEM( zones_menu, ID_POPUP_PCB_DELETE_ZONE_CUTOUT,
|
||||||
_( "Delete Cutout" ), delete_xpm );
|
_( "Delete Cutout" ), delete_xpm );
|
||||||
|
|
||||||
ADD_MENUITEM( zones_menu, ID_POPUP_PCB_DELETE_ZONE_CONTAINER,
|
ADD_MENUITEM( zones_menu, ID_POPUP_PCB_DELETE_ZONE_CONTAINER,
|
||||||
_( "Delete Zone Outline" ), delete_xpm );
|
_( "Delete Zone Outline" ), delete_xpm );
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,6 +114,7 @@ BEGIN_EVENT_TABLE( WinEDA_PcbFrame, WinEDA_BasePcbFrame )
|
||||||
EVT_TOOL( ID_GET_NETLIST, WinEDA_PcbFrame::Process_Special_Functions )
|
EVT_TOOL( ID_GET_NETLIST, WinEDA_PcbFrame::Process_Special_Functions )
|
||||||
EVT_TOOL( ID_DRC_CONTROL, WinEDA_PcbFrame::Process_Special_Functions )
|
EVT_TOOL( ID_DRC_CONTROL, WinEDA_PcbFrame::Process_Special_Functions )
|
||||||
EVT_TOOL( ID_AUX_TOOLBAR_PCB_SELECT_LAYER_PAIR, WinEDA_PcbFrame::Process_Special_Functions )
|
EVT_TOOL( ID_AUX_TOOLBAR_PCB_SELECT_LAYER_PAIR, WinEDA_PcbFrame::Process_Special_Functions )
|
||||||
|
EVT_TOOL( ID_AUX_TOOLBAR_PCB_SELECT_AUTO_WIDTH, WinEDA_PcbFrame::Process_Special_Functions )
|
||||||
EVT_KICAD_CHOICEBOX( ID_TOOLBARH_PCB_SELECT_LAYER,
|
EVT_KICAD_CHOICEBOX( ID_TOOLBARH_PCB_SELECT_LAYER,
|
||||||
WinEDA_PcbFrame::Process_Special_Functions )
|
WinEDA_PcbFrame::Process_Special_Functions )
|
||||||
EVT_KICAD_CHOICEBOX( ID_AUX_TOOLBAR_PCB_TRACK_WIDTH,
|
EVT_KICAD_CHOICEBOX( ID_AUX_TOOLBAR_PCB_TRACK_WIDTH,
|
||||||
|
@ -442,6 +443,8 @@ void WinEDA_PcbFrame::SetToolbars()
|
||||||
if( m_AuxiliaryToolBar )
|
if( m_AuxiliaryToolBar )
|
||||||
{
|
{
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
m_AuxiliaryToolBar->ToggleTool( ID_AUX_TOOLBAR_PCB_SELECT_AUTO_WIDTH,
|
||||||
|
g_DesignSettings.m_UseConnectedTrackWidth );
|
||||||
if( m_SelTrackWidthBox && m_SelTrackWidthBox_Changed )
|
if( m_SelTrackWidthBox && m_SelTrackWidthBox_Changed )
|
||||||
{
|
{
|
||||||
m_SelTrackWidthBox_Changed = FALSE;
|
m_SelTrackWidthBox_Changed = FALSE;
|
||||||
|
|
|
@ -294,8 +294,6 @@ eda_global wxString g_ViaType_Name[4]
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
eda_global int g_ViaHoleLastValue; // Last value for non default value via hole
|
|
||||||
|
|
||||||
/* couleurs des autres items des empreintes */
|
/* couleurs des autres items des empreintes */
|
||||||
#if defined MAIN
|
#if defined MAIN
|
||||||
int g_PadCMPColor = RED;
|
int g_PadCMPColor = RED;
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
#include "mw_Add_Line.xpm"
|
#include "mw_Add_Line.xpm"
|
||||||
#include "mw_Add_Gap.xpm"
|
#include "mw_Add_Gap.xpm"
|
||||||
#include "mw_toolbar.xpm"
|
#include "mw_toolbar.xpm"
|
||||||
#include "Add_Tracks.xpm"
|
|
||||||
#include "Show_Zone.xpm"
|
#include "Show_Zone.xpm"
|
||||||
#include "net_hightlight.xpm"
|
#include "net_hightlight.xpm"
|
||||||
#include "PcbOffset.xpm"
|
#include "PcbOffset.xpm"
|
||||||
|
@ -282,7 +281,9 @@ void WinEDA_PcbFrame::ReCreateHToolbar()
|
||||||
_( "auto zoom" ) );
|
_( "auto zoom" ) );
|
||||||
|
|
||||||
m_HToolBar->AddSeparator();
|
m_HToolBar->AddSeparator();
|
||||||
msg = AddHotkeyName( _( "Find components and texts" ), s_Board_Editor_Hokeys_Descr, HK_FIND_ITEM );
|
msg = AddHotkeyName( _(
|
||||||
|
"Find components and texts" ), s_Board_Editor_Hokeys_Descr,
|
||||||
|
HK_FIND_ITEM );
|
||||||
m_HToolBar->AddTool( ID_FIND_ITEMS, wxEmptyString, BITMAP( find_xpm ),
|
m_HToolBar->AddTool( ID_FIND_ITEMS, wxEmptyString, BITMAP( find_xpm ),
|
||||||
msg );
|
msg );
|
||||||
|
|
||||||
|
@ -526,6 +527,12 @@ void WinEDA_PcbFrame::ReCreateAuxiliaryToolbar()
|
||||||
/****************************************************/
|
/****************************************************/
|
||||||
|
|
||||||
/* Create auxiliary horizontal toolbar
|
/* Create auxiliary horizontal toolbar
|
||||||
|
* displays:
|
||||||
|
* existing track width choice
|
||||||
|
* selection for auto track width
|
||||||
|
* existing via size choice
|
||||||
|
* grid size choice
|
||||||
|
* zoom level choice
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
int ii;
|
int ii;
|
||||||
|
@ -544,6 +551,13 @@ void WinEDA_PcbFrame::ReCreateAuxiliaryToolbar()
|
||||||
m_AuxiliaryToolBar->AddControl( m_SelTrackWidthBox );
|
m_AuxiliaryToolBar->AddControl( m_SelTrackWidthBox );
|
||||||
m_SelTrackWidthBox_Changed = TRUE;
|
m_SelTrackWidthBox_Changed = TRUE;
|
||||||
|
|
||||||
|
m_AuxiliaryToolBar->AddTool( ID_AUX_TOOLBAR_PCB_SELECT_AUTO_WIDTH,
|
||||||
|
wxEmptyString,
|
||||||
|
BITMAP( auto_track_width_xpm ),
|
||||||
|
_(
|
||||||
|
"Auto track width: when starting on an existing track use its width\notherwise, use current width setting" ),
|
||||||
|
wxITEM_CHECK );
|
||||||
|
|
||||||
m_AuxiliaryToolBar->AddSeparator();
|
m_AuxiliaryToolBar->AddSeparator();
|
||||||
m_SelViaSizeBox = new WinEDAChoiceBox( m_AuxiliaryToolBar,
|
m_SelViaSizeBox = new WinEDAChoiceBox( m_AuxiliaryToolBar,
|
||||||
ID_AUX_TOOLBAR_PCB_VIA_SIZE,
|
ID_AUX_TOOLBAR_PCB_VIA_SIZE,
|
||||||
|
@ -610,28 +624,29 @@ void WinEDA_PcbFrame::ReCreateAuxiliaryToolbar()
|
||||||
WinEDAChoiceBox* WinEDA_PcbFrame::ReCreateLayerBox( WinEDA_Toolbar* parent )
|
WinEDAChoiceBox* WinEDA_PcbFrame::ReCreateLayerBox( WinEDA_Toolbar* parent )
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
{
|
{
|
||||||
int ii, jj, ll;
|
int ii, jj, ll;
|
||||||
unsigned lenght = 0;
|
unsigned lenght = 0;
|
||||||
bool rebuild = FALSE;
|
bool rebuild = FALSE;
|
||||||
long current_mask_layer;
|
long current_mask_layer;
|
||||||
|
|
||||||
if( m_SelLayerBox == NULL )
|
if( m_SelLayerBox == NULL )
|
||||||
{
|
{
|
||||||
if( parent == NULL )
|
if( parent == NULL )
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
m_SelLayerBox = new WinEDAChoiceBox( parent, ID_TOOLBARH_PCB_SELECT_LAYER,
|
m_SelLayerBox = new WinEDAChoiceBox( parent, ID_TOOLBARH_PCB_SELECT_LAYER,
|
||||||
|
|
||||||
wxPoint( -1, -1 ),
|
wxPoint( -1, -1 ),
|
||||||
#if defined(__UNIX__)
|
#if defined (__UNIX__)
|
||||||
// Width enough for the longest string: "Component (Page Down)"
|
|
||||||
// Maybe that string is too long?
|
// Width enough for the longest string: "Component (Page Down)"
|
||||||
wxSize( 230, -1 )
|
// Maybe that string is too long?
|
||||||
|
wxSize( 230, -1 )
|
||||||
#else
|
#else
|
||||||
wxSize( LISTBOX_WIDTH+40, -1 )
|
wxSize( LISTBOX_WIDTH + 40, -1 )
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
|
|
||||||
parent->AddControl( m_SelLayerBox );
|
parent->AddControl( m_SelLayerBox );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -654,8 +669,8 @@ WinEDAChoiceBox* WinEDA_PcbFrame::ReCreateLayerBox( WinEDA_Toolbar* parent )
|
||||||
m_SelLayerBox->Clear();
|
m_SelLayerBox->Clear();
|
||||||
for( ii = 0, jj = 0; ii <= EDGE_N; ii++ )
|
for( ii = 0, jj = 0; ii <= EDGE_N; ii++ )
|
||||||
{
|
{
|
||||||
// List to append hotkeys in layer box selection
|
// List to append hotkeys in layer box selection
|
||||||
static int HK_SwitchLayer[EDGE_N+1] = {
|
static int HK_SwitchLayer[EDGE_N + 1] = {
|
||||||
HK_SWITCH_LAYER_TO_COPPER,
|
HK_SWITCH_LAYER_TO_COPPER,
|
||||||
HK_SWITCH_LAYER_TO_INNER1,
|
HK_SWITCH_LAYER_TO_INNER1,
|
||||||
HK_SWITCH_LAYER_TO_INNER2,
|
HK_SWITCH_LAYER_TO_INNER2,
|
||||||
|
@ -672,7 +687,7 @@ WinEDAChoiceBox* WinEDA_PcbFrame::ReCreateLayerBox( WinEDA_Toolbar* parent )
|
||||||
HK_SWITCH_LAYER_TO_INNER13,
|
HK_SWITCH_LAYER_TO_INNER13,
|
||||||
HK_SWITCH_LAYER_TO_INNER14,
|
HK_SWITCH_LAYER_TO_INNER14,
|
||||||
HK_SWITCH_LAYER_TO_COMPONENT
|
HK_SWITCH_LAYER_TO_COMPONENT
|
||||||
};
|
};
|
||||||
|
|
||||||
if( (g_TabOneLayerMask[ii] & Masque_Layer) )
|
if( (g_TabOneLayerMask[ii] & Masque_Layer) )
|
||||||
{
|
{
|
||||||
|
@ -680,10 +695,11 @@ WinEDAChoiceBox* WinEDA_PcbFrame::ReCreateLayerBox( WinEDA_Toolbar* parent )
|
||||||
msg = AddHotkeyName( msg, s_Board_Editor_Hokeys_Descr, HK_SwitchLayer[ii] );
|
msg = AddHotkeyName( msg, s_Board_Editor_Hokeys_Descr, HK_SwitchLayer[ii] );
|
||||||
m_SelLayerBox->Append( msg );
|
m_SelLayerBox->Append( msg );
|
||||||
m_SelLayerBox->SetClientData( jj, (void*) ii );
|
m_SelLayerBox->SetClientData( jj, (void*) ii );
|
||||||
lenght = max(lenght, msg.Len() );
|
lenght = max( lenght, msg.Len() );
|
||||||
jj++;
|
jj++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test me:
|
// Test me:
|
||||||
// int lchar = m_SelLayerBox->GetFont().GetPointSize();
|
// int lchar = m_SelLayerBox->GetFont().GetPointSize();
|
||||||
// m_SelLayerBox->SetSize(wxSize(lenght * lchar,-1));
|
// m_SelLayerBox->SetSize(wxSize(lenght * lchar,-1));
|
||||||
|
|
|
@ -43,10 +43,10 @@ void WinEDA_PcbFrame::Via_Edit_Control( wxDC* DC, int command_type, SEGVIA* via
|
||||||
DrawPanel->MouseToCursorSchema();
|
DrawPanel->MouseToCursorSchema();
|
||||||
|
|
||||||
case ID_POPUP_PCB_VIA_HOLE_TO_VALUE: // Set the drill via to custom
|
case ID_POPUP_PCB_VIA_HOLE_TO_VALUE: // Set the drill via to custom
|
||||||
if( (g_ViaHoleLastValue > 0) && (g_ViaHoleLastValue < via->m_Width) )
|
if( (g_DesignSettings.m_ViaDrillCustomValue > 0) && (g_DesignSettings.m_ViaDrillCustomValue < via->m_Width) )
|
||||||
{
|
{
|
||||||
via->Draw( DrawPanel, DC, GR_XOR );
|
via->Draw( DrawPanel, DC, GR_XOR );
|
||||||
via->SetDrillValue( g_ViaHoleLastValue );
|
via->SetDrillValue( g_DesignSettings.m_ViaDrillCustomValue );
|
||||||
via->Draw( DrawPanel, DC, GR_OR );
|
via->Draw( DrawPanel, DC, GR_OR );
|
||||||
GetScreen()->SetModify();
|
GetScreen()->SetModify();
|
||||||
}
|
}
|
||||||
|
@ -57,12 +57,12 @@ void WinEDA_PcbFrame::Via_Edit_Control( wxDC* DC, int command_type, SEGVIA* via
|
||||||
|
|
||||||
case ID_POPUP_PCB_VIA_HOLE_EXPORT: // Export the current drill value as the new custom value
|
case ID_POPUP_PCB_VIA_HOLE_EXPORT: // Export the current drill value as the new custom value
|
||||||
if( via->GetDrillValue() > 0 )
|
if( via->GetDrillValue() > 0 )
|
||||||
g_ViaHoleLastValue = via->GetDrillValue();
|
g_DesignSettings.m_ViaDrillCustomValue = via->GetDrillValue();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_PCB_VIA_HOLE_EXPORT_TO_OTHERS: // Export the current drill value to via which héave the same size
|
case ID_POPUP_PCB_VIA_HOLE_EXPORT_TO_OTHERS: // Export the current drill value to via which héave the same size
|
||||||
if( via->GetDrillValue() > 0 )
|
if( via->GetDrillValue() > 0 )
|
||||||
g_ViaHoleLastValue = via->GetDrillValue();
|
g_DesignSettings.m_ViaDrillCustomValue = via->GetDrillValue();
|
||||||
via_struct = m_Pcb->m_Track;
|
via_struct = m_Pcb->m_Track;
|
||||||
for( ; via_struct != NULL; via_struct = (TRACK*) via_struct->Pnext )
|
for( ; via_struct != NULL; via_struct = (TRACK*) via_struct->Pnext )
|
||||||
{
|
{
|
||||||
|
|
|
@ -134,7 +134,7 @@ int ZONE_CONTAINER::Fill_Zone( WinEDA_PcbFrame* frame, wxDC* DC, bool verbose )
|
||||||
TraceLignePcb( xi, yi, xf, yf, -1, HOLE | CELL_is_EDGE, WRITE_CELL );
|
TraceLignePcb( xi, yi, xf, yf, -1, HOLE | CELL_is_EDGE, WRITE_CELL );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Create a starting point to create the zone filling */
|
/* Create a starting point to create the zone filling, from pads */
|
||||||
LISTE_PAD* pad;
|
LISTE_PAD* pad;
|
||||||
int cells_count = 0;
|
int cells_count = 0;
|
||||||
for( ii = 0, pad = frame->m_Pcb->m_Pads; ii < frame->m_Pcb->m_NbPads; ii++, pad++ )
|
for( ii = 0, pad = frame->m_Pcb->m_Pads; ii < frame->m_Pcb->m_NbPads; ii++, pad++ )
|
||||||
|
@ -157,6 +157,42 @@ int ZONE_CONTAINER::Fill_Zone( WinEDA_PcbFrame* frame, wxDC* DC, bool verbose )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Create a starting point to create the zone filling, from vias and tracks */
|
||||||
|
TRACK* track;
|
||||||
|
for( track = frame->m_Pcb->m_Track; track != NULL; track = track->Next() )
|
||||||
|
{
|
||||||
|
if ( ! track->IsOnLayer( GetLayer() ) ) continue;
|
||||||
|
if ( track->GetNet() != GetNet() ) continue;
|
||||||
|
wxPoint pos = track->m_Start;
|
||||||
|
if( m_Poly->TestPointInside( pos.x, pos.y ) )
|
||||||
|
{
|
||||||
|
pos -= Pcb->m_BoundaryBox.m_Pos;
|
||||||
|
ZoneStartFill.x = ( pos.x + (g_GridRoutingSize / 2) ) / g_GridRoutingSize;
|
||||||
|
|
||||||
|
ZoneStartFill.y = ( pos.y + (g_GridRoutingSize / 2) ) / g_GridRoutingSize;
|
||||||
|
BoardCell cell = GetCell( ZoneStartFill.y, ZoneStartFill.x, BOTTOM );
|
||||||
|
if ( (cell & CELL_is_EDGE) == 0 )
|
||||||
|
{
|
||||||
|
OrCell( ZoneStartFill.y, ZoneStartFill.x, BOTTOM, CELL_is_ZONE );
|
||||||
|
cells_count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pos = track->m_End;
|
||||||
|
if( m_Poly->TestPointInside( pos.x, pos.y ) )
|
||||||
|
{
|
||||||
|
pos -= Pcb->m_BoundaryBox.m_Pos;
|
||||||
|
ZoneStartFill.x = ( pos.x + (g_GridRoutingSize / 2) ) / g_GridRoutingSize;
|
||||||
|
|
||||||
|
ZoneStartFill.y = ( pos.y + (g_GridRoutingSize / 2) ) / g_GridRoutingSize;
|
||||||
|
BoardCell cell = GetCell( ZoneStartFill.y, ZoneStartFill.x, BOTTOM );
|
||||||
|
if ( (cell & CELL_is_EDGE) == 0 )
|
||||||
|
{
|
||||||
|
OrCell( ZoneStartFill.y, ZoneStartFill.x, BOTTOM, CELL_is_ZONE );
|
||||||
|
cells_count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if( cells_count == 0 )
|
if( cells_count == 0 )
|
||||||
{
|
{
|
||||||
if( verbose )
|
if( verbose )
|
||||||
|
|
878
pcbnew/zones.cpp
878
pcbnew/zones.cpp
|
@ -1,878 +0,0 @@
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
// Name: zones.cpp
|
|
||||||
// Purpose:
|
|
||||||
// Author: jean-pierre Charras
|
|
||||||
// Modified by:
|
|
||||||
// Created: 25/01/2006 11:35:19
|
|
||||||
// RCS-ID:
|
|
||||||
// Copyright: GNU License
|
|
||||||
// Licence: GNU License
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
// Generated by DialogBlocks (unregistered), 25/01/2006 11:35:19
|
|
||||||
|
|
||||||
#if defined (__GNUG__) && !defined (NO_GCC_PRAGMA)
|
|
||||||
#pragma implementation "zones.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// For compilers that support precompilation, includes "wx/wx.h".
|
|
||||||
#include "wx/wxprec.h"
|
|
||||||
|
|
||||||
#ifdef __BORLANDC__
|
|
||||||
#pragma hdrstop
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef WX_PRECOMP
|
|
||||||
#include "wx/wx.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
////@begin includes
|
|
||||||
////@end includes
|
|
||||||
|
|
||||||
#include "zones.h"
|
|
||||||
|
|
||||||
////@begin XPM images
|
|
||||||
////@end XPM images
|
|
||||||
|
|
||||||
/* Imported functions */
|
|
||||||
void Build_Zone( WinEDA_PcbFrame* frame, wxDC* DC, int net_code,
|
|
||||||
bool Zone_Exclude_Pads, bool Zone_Create_Thermal_Relief );
|
|
||||||
|
|
||||||
|
|
||||||
/* Local functions */
|
|
||||||
static void Display_Zone_Netname( WinEDA_PcbFrame* frame );
|
|
||||||
static void Exit_Zones( WinEDA_DrawPanel* Panel, wxDC* DC );
|
|
||||||
static void Show_Zone_Edge_While_MoveMouse( WinEDA_DrawPanel* panel, wxDC* DC, bool erase );
|
|
||||||
|
|
||||||
/* Local variables */
|
|
||||||
static bool Zone_45_Only = FALSE;
|
|
||||||
static bool Zone_Exclude_Pads = TRUE;
|
|
||||||
static bool s_Zone_Create_Thermal_Relief = TRUE;
|
|
||||||
|
|
||||||
/* Time stamp common to all segments relative to the new created zone */
|
|
||||||
static unsigned long s_TimeStamp;
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* WinEDA_ZoneFrame type definition
|
|
||||||
*/
|
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS( WinEDA_ZoneFrame, wxDialog )
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* WinEDA_ZoneFrame event table definition
|
|
||||||
*/
|
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE( WinEDA_ZoneFrame, wxDialog )
|
|
||||||
|
|
||||||
////@begin WinEDA_ZoneFrame event table entries
|
|
||||||
EVT_BUTTON( ID_FILL_ZONE, WinEDA_ZoneFrame::ExecFillZone )
|
|
||||||
|
|
||||||
EVT_BUTTON( wxID_CANCEL, WinEDA_ZoneFrame::OnCancelClick )
|
|
||||||
|
|
||||||
EVT_BUTTON( ID_SET_OPTIONS_ZONE, WinEDA_ZoneFrame::ExecFillZone )
|
|
||||||
|
|
||||||
////@end WinEDA_ZoneFrame event table entries
|
|
||||||
|
|
||||||
END_EVENT_TABLE()
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* WinEDA_ZoneFrame constructors
|
|
||||||
*/
|
|
||||||
|
|
||||||
WinEDA_ZoneFrame::WinEDA_ZoneFrame()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
WinEDA_ZoneFrame::WinEDA_ZoneFrame( WinEDA_PcbFrame* parent,
|
|
||||||
wxWindowID id,
|
|
||||||
const wxString& caption,
|
|
||||||
const wxPoint& pos,
|
|
||||||
const wxSize& size,
|
|
||||||
long style )
|
|
||||||
{
|
|
||||||
m_Parent = parent;
|
|
||||||
Create( parent, id, caption, pos, size, style );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* WinEDA_ZoneFrame creator
|
|
||||||
*/
|
|
||||||
|
|
||||||
bool WinEDA_ZoneFrame::Create( wxWindow* parent,
|
|
||||||
wxWindowID id,
|
|
||||||
const wxString& caption,
|
|
||||||
const wxPoint& pos,
|
|
||||||
const wxSize& size,
|
|
||||||
long style )
|
|
||||||
{
|
|
||||||
////@begin WinEDA_ZoneFrame member initialisation
|
|
||||||
m_GridCtrl = NULL;
|
|
||||||
m_ClearanceValueTitle = NULL;
|
|
||||||
m_ZoneClearanceCtrl = NULL;
|
|
||||||
m_FillOpt = NULL;
|
|
||||||
m_OrientEdgesOpt = NULL;
|
|
||||||
|
|
||||||
////@end WinEDA_ZoneFrame member initialisation
|
|
||||||
|
|
||||||
////@begin WinEDA_ZoneFrame creation
|
|
||||||
SetExtraStyle( GetExtraStyle() | wxWS_EX_BLOCK_EVENTS );
|
|
||||||
wxDialog::Create( parent, id, caption, pos, size, style );
|
|
||||||
|
|
||||||
CreateControls();
|
|
||||||
GetSizer()->Fit( this );
|
|
||||||
GetSizer()->SetSizeHints( this );
|
|
||||||
Centre();
|
|
||||||
|
|
||||||
////@end WinEDA_ZoneFrame creation
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Control creation for WinEDA_ZoneFrame
|
|
||||||
*/
|
|
||||||
|
|
||||||
void WinEDA_ZoneFrame::CreateControls()
|
|
||||||
{
|
|
||||||
SetFont( *g_DialogFont );
|
|
||||||
|
|
||||||
////@begin WinEDA_ZoneFrame content construction
|
|
||||||
// Generated by DialogBlocks, 03/03/2006 13:36:21 (unregistered)
|
|
||||||
|
|
||||||
WinEDA_ZoneFrame* itemDialog1 = this;
|
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer( wxHORIZONTAL );
|
|
||||||
itemDialog1->SetSizer( itemBoxSizer2 );
|
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer( wxVERTICAL );
|
|
||||||
itemBoxSizer2->Add( itemBoxSizer3, 0, wxGROW | wxALL, 5 );
|
|
||||||
|
|
||||||
static const wxString m_GridCtrlStrings[] = {
|
|
||||||
_( "0.00000" ),
|
|
||||||
_( "0.00000" ),
|
|
||||||
_( "0.00000" ),
|
|
||||||
_( "0.00000" )
|
|
||||||
};
|
|
||||||
|
|
||||||
m_GridCtrl = new wxRadioBox( itemDialog1, ID_RADIOBOX, _(
|
|
||||||
"Grid size:" ), wxDefaultPosition, wxDefaultSize, 4,
|
|
||||||
m_GridCtrlStrings, 1, wxRA_SPECIFY_COLS );
|
|
||||||
itemBoxSizer3->Add( m_GridCtrl, 0, wxALIGN_LEFT | wxALL, 5 );
|
|
||||||
|
|
||||||
m_ClearanceValueTitle = new wxStaticText( itemDialog1, wxID_STATIC,
|
|
||||||
_( "Zone clearance value (mm):" ),
|
|
||||||
wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemBoxSizer3->Add( m_ClearanceValueTitle,
|
|
||||||
0,
|
|
||||||
wxALIGN_LEFT | wxLEFT | wxRIGHT | wxTOP | wxADJUST_MINSIZE,
|
|
||||||
5 );
|
|
||||||
|
|
||||||
m_ZoneClearanceCtrl = new wxTextCtrl( itemDialog1, ID_TEXTCTRL, _T(
|
|
||||||
"" ), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemBoxSizer3->Add( m_ZoneClearanceCtrl, 0, wxALIGN_LEFT | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
|
|
||||||
|
|
||||||
itemBoxSizer2->Add( 5, 5, 0, wxGROW | wxALL, 5 );
|
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer8 = new wxBoxSizer( wxVERTICAL );
|
|
||||||
itemBoxSizer2->Add( itemBoxSizer8, 0, wxGROW | wxALL, 5 );
|
|
||||||
|
|
||||||
static const wxString m_FillOptStrings[] = {
|
|
||||||
_( "Include Pads" ),
|
|
||||||
_( "Thermal" ),
|
|
||||||
_( "Exclude Pads" )
|
|
||||||
};
|
|
||||||
|
|
||||||
m_FillOpt = new wxRadioBox( itemDialog1, ID_RADIOBOX1, _(
|
|
||||||
"Pad options:" ), wxDefaultPosition, wxDefaultSize, 3,
|
|
||||||
m_FillOptStrings, 1, wxRA_SPECIFY_COLS );
|
|
||||||
itemBoxSizer8->Add( m_FillOpt, 0, wxALIGN_LEFT | wxALL, 5 );
|
|
||||||
|
|
||||||
static const wxString m_OrientEdgesOptStrings[] = {
|
|
||||||
_( "Any" ),
|
|
||||||
_( "H , V and 45 deg" )
|
|
||||||
};
|
|
||||||
|
|
||||||
m_OrientEdgesOpt = new wxRadioBox( itemDialog1, ID_RADIOBOX2,
|
|
||||||
_( "Zone edges orient:" ), wxDefaultPosition,
|
|
||||||
wxDefaultSize, 2, m_OrientEdgesOptStrings, 1,
|
|
||||||
wxRA_SPECIFY_COLS );
|
|
||||||
|
|
||||||
itemBoxSizer8->Add( m_OrientEdgesOpt, 0, wxALIGN_RIGHT | wxALL, 5 );
|
|
||||||
|
|
||||||
itemBoxSizer2->Add( 5, 5, 0, wxGROW | wxALL, 5 );
|
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer12 = new wxBoxSizer( wxVERTICAL );
|
|
||||||
itemBoxSizer2->Add( itemBoxSizer12, 0, wxALIGN_TOP | wxALL, 5 );
|
|
||||||
|
|
||||||
wxButton* itemButton13 = new wxButton( itemDialog1, ID_FILL_ZONE,
|
|
||||||
_( "Fill" ), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
|
|
||||||
itemButton13->SetDefault();
|
|
||||||
itemButton13->SetForegroundColour( wxColour( 204, 0, 0 ) );
|
|
||||||
itemBoxSizer12->Add( itemButton13, 0, wxGROW | wxALL, 5 );
|
|
||||||
|
|
||||||
wxButton* itemButton14 = new wxButton( itemDialog1, wxID_CANCEL,
|
|
||||||
_( "&Cancel" ), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
|
|
||||||
itemButton14->SetForegroundColour( wxColour( 0, 0, 255 ) );
|
|
||||||
itemBoxSizer12->Add( itemButton14, 0, wxGROW | wxALL, 5 );
|
|
||||||
|
|
||||||
wxButton* itemButton15 = new wxButton( itemDialog1, ID_SET_OPTIONS_ZONE,
|
|
||||||
_(
|
|
||||||
"Update Options" ), wxDefaultPosition,
|
|
||||||
wxDefaultSize, 0 );
|
|
||||||
|
|
||||||
itemButton15->SetForegroundColour( wxColour( 0, 100, 0 ) );
|
|
||||||
itemBoxSizer12->Add( itemButton15, 0, wxGROW | wxALL, 5 );
|
|
||||||
|
|
||||||
itemBoxSizer2->Add( 5, 5, 0, wxGROW | wxALL, 5 );
|
|
||||||
|
|
||||||
////@end WinEDA_ZoneFrame content construction
|
|
||||||
wxString title = _( "Zone clearance value:" ) + ReturnUnitSymbol( g_UnitMetric );
|
|
||||||
m_ClearanceValueTitle->SetLabel( title );
|
|
||||||
|
|
||||||
title = _( "Grid :" ) + ReturnUnitSymbol( g_UnitMetric );;
|
|
||||||
m_GridCtrl->SetLabel( title );
|
|
||||||
|
|
||||||
if( g_DesignSettings.m_ZoneClearence == 0 )
|
|
||||||
g_DesignSettings.m_ZoneClearence = g_DesignSettings.m_TrackClearence;
|
|
||||||
title = ReturnStringFromValue( g_UnitMetric,
|
|
||||||
g_DesignSettings.m_ZoneClearence,
|
|
||||||
m_Parent->m_InternalUnits );
|
|
||||||
m_ZoneClearanceCtrl->SetValue( title );
|
|
||||||
|
|
||||||
if( Zone_45_Only )
|
|
||||||
m_OrientEdgesOpt->SetSelection( 1 );
|
|
||||||
|
|
||||||
static const int GridList[4] = { 50, 100, 250, 500 };
|
|
||||||
int selection = 0;
|
|
||||||
|
|
||||||
for( unsigned ii = 0; ii < (unsigned)m_GridCtrl->GetCount(); ii++ )
|
|
||||||
{
|
|
||||||
wxString msg = ReturnStringFromValue( g_UnitMetric,
|
|
||||||
GridList[ii],
|
|
||||||
m_Parent->m_InternalUnits );
|
|
||||||
m_GridCtrl->SetString( ii, msg );
|
|
||||||
if( g_GridRoutingSize == GridList[ii] )
|
|
||||||
selection = ii;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_GridCtrl->SetSelection( selection );
|
|
||||||
|
|
||||||
if( Zone_Exclude_Pads )
|
|
||||||
{
|
|
||||||
if( s_Zone_Create_Thermal_Relief )
|
|
||||||
m_FillOpt->SetSelection( 1 );
|
|
||||||
else
|
|
||||||
m_FillOpt->SetSelection( 2 );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Should we show tooltips?
|
|
||||||
*/
|
|
||||||
|
|
||||||
bool WinEDA_ZoneFrame::ShowToolTips()
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Get bitmap resources
|
|
||||||
*/
|
|
||||||
|
|
||||||
wxBitmap WinEDA_ZoneFrame::GetBitmapResource( const wxString& name )
|
|
||||||
{
|
|
||||||
// Bitmap retrieval
|
|
||||||
////@begin WinEDA_ZoneFrame bitmap retrieval
|
|
||||||
wxUnusedVar( name );
|
|
||||||
return wxNullBitmap;
|
|
||||||
|
|
||||||
////@end WinEDA_ZoneFrame bitmap retrieval
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Get icon resources
|
|
||||||
*/
|
|
||||||
|
|
||||||
wxIcon WinEDA_ZoneFrame::GetIconResource( const wxString& name )
|
|
||||||
{
|
|
||||||
// Icon retrieval
|
|
||||||
////@begin WinEDA_ZoneFrame icon retrieval
|
|
||||||
wxUnusedVar( name );
|
|
||||||
return wxNullIcon;
|
|
||||||
|
|
||||||
////@end WinEDA_ZoneFrame icon retrieval
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
|
|
||||||
*/
|
|
||||||
|
|
||||||
void WinEDA_ZoneFrame::OnCancelClick( wxCommandEvent& event )
|
|
||||||
{
|
|
||||||
////@begin wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL in WinEDA_ZoneFrame.
|
|
||||||
// Before editing this code, remove the block markers.
|
|
||||||
event.Skip();
|
|
||||||
|
|
||||||
////@end wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL in WinEDA_ZoneFrame.
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON2
|
|
||||||
*/
|
|
||||||
/***********************************************************/
|
|
||||||
void WinEDA_ZoneFrame::ExecFillZone( wxCommandEvent& event )
|
|
||||||
/***********************************************************/
|
|
||||||
{
|
|
||||||
switch( m_FillOpt->GetSelection() )
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
Zone_Exclude_Pads = FALSE;
|
|
||||||
s_Zone_Create_Thermal_Relief = FALSE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
Zone_Exclude_Pads = TRUE;
|
|
||||||
s_Zone_Create_Thermal_Relief = TRUE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
Zone_Exclude_Pads = TRUE;
|
|
||||||
s_Zone_Create_Thermal_Relief = FALSE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch( m_GridCtrl->GetSelection() )
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
g_GridRoutingSize = 50;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
g_GridRoutingSize = 100;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
g_GridRoutingSize = 250;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
g_GridRoutingSize = 500;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
wxString txtvalue = m_ZoneClearanceCtrl->GetValue();
|
|
||||||
g_DesignSettings.m_ZoneClearence =
|
|
||||||
ReturnValueFromString( g_UnitMetric, txtvalue, m_Parent->m_InternalUnits );
|
|
||||||
if( m_OrientEdgesOpt->GetSelection() == 0 )
|
|
||||||
Zone_45_Only = FALSE;
|
|
||||||
else
|
|
||||||
Zone_45_Only = TRUE;
|
|
||||||
|
|
||||||
if( event.GetId() == ID_SET_OPTIONS_ZONE )
|
|
||||||
EndModal( 1 );
|
|
||||||
else
|
|
||||||
EndModal( 0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************/
|
|
||||||
void WinEDA_PcbFrame::Edit_Zone_Width( wxDC* DC, SEGZONE* aZone )
|
|
||||||
/**************************************************************/
|
|
||||||
|
|
||||||
/* Edite (change la largeur des segments) la zone Zone.
|
|
||||||
* La zone est constituee des segments zones de meme TimeStamp
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
bool modify = FALSE;
|
|
||||||
double f_new_width;
|
|
||||||
int w_tmp;
|
|
||||||
wxString Line;
|
|
||||||
wxString Msg( _( "New zone segment width: " ) );
|
|
||||||
|
|
||||||
if( aZone == NULL )
|
|
||||||
return;
|
|
||||||
|
|
||||||
f_new_width = To_User_Unit( g_UnitMetric, aZone->m_Width, GetScreen()->GetInternalUnits() );
|
|
||||||
|
|
||||||
Line.Printf( wxT( "%.4f" ), f_new_width );
|
|
||||||
|
|
||||||
Msg += g_UnitMetric ? wxT( "(mm)" ) : wxT( "(\")" );
|
|
||||||
if( Get_Message( Msg, Line, this ) != 0 )
|
|
||||||
return;
|
|
||||||
|
|
||||||
w_tmp = g_DesignSettings.m_CurrentTrackWidth;
|
|
||||||
Line.ToDouble( &f_new_width );
|
|
||||||
|
|
||||||
g_DesignSettings.m_CurrentTrackWidth = From_User_Unit( g_UnitMetric,
|
|
||||||
f_new_width, GetScreen()->GetInternalUnits() );
|
|
||||||
|
|
||||||
for( SEGZONE* zone = m_Pcb->m_Zone; zone; zone = zone->Next() )
|
|
||||||
{
|
|
||||||
if( zone->m_TimeStamp == aZone->m_TimeStamp )
|
|
||||||
{
|
|
||||||
modify = TRUE;
|
|
||||||
Edit_TrackSegm_Width( DC, zone );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
g_DesignSettings.m_CurrentTrackWidth = w_tmp;
|
|
||||||
if( modify )
|
|
||||||
{
|
|
||||||
GetScreen()->SetModify();
|
|
||||||
DrawPanel->Refresh();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************/
|
|
||||||
void WinEDA_PcbFrame::Delete_Zone( wxDC* DC, SEGZONE* aZone )
|
|
||||||
/**********************************************************/
|
|
||||||
|
|
||||||
/* Remove the zone which include the segment aZone.
|
|
||||||
* A zone is a group of segments which have the same TimeStamp
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
if ( aZone == NULL ) return;
|
|
||||||
|
|
||||||
int nb_segm = 0;
|
|
||||||
bool modify = FALSE;
|
|
||||||
unsigned long TimeStamp = aZone->m_TimeStamp; // Save reference time stamp (aZone will be deleted)
|
|
||||||
|
|
||||||
SEGZONE* next;
|
|
||||||
for( SEGZONE* zone = m_Pcb->m_Zone; zone != NULL; zone = next )
|
|
||||||
{
|
|
||||||
next = zone->Next();
|
|
||||||
if( zone->m_TimeStamp == TimeStamp )
|
|
||||||
{
|
|
||||||
modify = TRUE;
|
|
||||||
|
|
||||||
/* Erase segment from screen */
|
|
||||||
Trace_Une_Piste( DrawPanel, DC, zone, nb_segm, GR_XOR );
|
|
||||||
/* remove item from linked list and free memory */
|
|
||||||
zone->DeleteStructure();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if( modify )
|
|
||||||
{
|
|
||||||
GetScreen()->SetModify();
|
|
||||||
GetScreen()->SetRefreshReq();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
EDGE_ZONE* WinEDA_PcbFrame::Del_SegmEdgeZone( wxDC* DC, EDGE_ZONE* edge_zone )
|
|
||||||
/*****************************************************************************/
|
|
||||||
/* Routine d'effacement du segment de limite zone en cours de trace */
|
|
||||||
{
|
|
||||||
EDGE_ZONE* segm;
|
|
||||||
|
|
||||||
if( m_Pcb->m_CurrentLimitZone )
|
|
||||||
segm = m_Pcb->m_CurrentLimitZone;
|
|
||||||
else
|
|
||||||
segm = edge_zone;
|
|
||||||
|
|
||||||
if( segm == NULL )
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
Trace_DrawSegmentPcb( DrawPanel, DC, segm, GR_XOR );
|
|
||||||
|
|
||||||
m_Pcb->m_CurrentLimitZone = segm->Next();
|
|
||||||
delete segm;
|
|
||||||
|
|
||||||
segm = m_Pcb->m_CurrentLimitZone;
|
|
||||||
SetCurItem( segm );
|
|
||||||
|
|
||||||
if( segm )
|
|
||||||
{
|
|
||||||
segm->Pback = NULL;
|
|
||||||
if( DrawPanel->ManageCurseur )
|
|
||||||
DrawPanel->ManageCurseur( DrawPanel, DC, TRUE );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
DrawPanel->ManageCurseur = NULL;
|
|
||||||
DrawPanel->ForceCloseManageCurseur = NULL;
|
|
||||||
SetCurItem( NULL );
|
|
||||||
}
|
|
||||||
return segm;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*********************************************/
|
|
||||||
void WinEDA_PcbFrame::CaptureNetName( wxDC* DC )
|
|
||||||
/*********************************************/
|
|
||||||
|
|
||||||
/* routine permettant de capturer le nom net net (netcode) d'un pad
|
|
||||||
* ou d'une piste pour l'utiliser comme netcode de zone
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
D_PAD* pt_pad = 0;
|
|
||||||
TRACK* adrpiste;
|
|
||||||
MODULE* Module;
|
|
||||||
int masquelayer = g_TabOneLayerMask[GetScreen()->m_Active_Layer];
|
|
||||||
int netcode;
|
|
||||||
|
|
||||||
netcode = -1;
|
|
||||||
MsgPanel->EraseMsgBox();
|
|
||||||
adrpiste = Locate_Pistes( m_Pcb->m_Track, masquelayer, CURSEUR_OFF_GRILLE );
|
|
||||||
if( adrpiste == NULL )
|
|
||||||
{
|
|
||||||
pt_pad = Locate_Any_Pad( m_Pcb, CURSEUR_OFF_GRILLE );
|
|
||||||
|
|
||||||
if( pt_pad ) /* Verif qu'il est bien sur la couche active */
|
|
||||||
{
|
|
||||||
Module = (MODULE*) pt_pad->m_Parent;
|
|
||||||
pt_pad = Locate_Pads( Module, g_TabOneLayerMask[GetScreen()->m_Active_Layer],
|
|
||||||
CURSEUR_OFF_GRILLE );
|
|
||||||
}
|
|
||||||
if( pt_pad )
|
|
||||||
{
|
|
||||||
pt_pad->Display_Infos( this );
|
|
||||||
netcode = pt_pad->GetNet();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
adrpiste->Display_Infos( this );
|
|
||||||
netcode = adrpiste->GetNet();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Mise en surbrillance du net
|
|
||||||
if( g_HightLigt_Status )
|
|
||||||
Hight_Light( DC );
|
|
||||||
|
|
||||||
g_HightLigth_NetCode = netcode;
|
|
||||||
if( g_HightLigth_NetCode >= 0 )
|
|
||||||
{
|
|
||||||
Hight_Light( DC );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Affichage du net selectionne pour la zone a tracer */
|
|
||||||
Display_Zone_Netname( this );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************/
|
|
||||||
static void Display_Zone_Netname( WinEDA_PcbFrame* frame )
|
|
||||||
/*******************************************************/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Affiche le net_code et le nom de net couramment selectionne
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
EQUIPOT* pt_equipot;
|
|
||||||
wxString line;
|
|
||||||
|
|
||||||
pt_equipot = frame->m_Pcb->m_Equipots;
|
|
||||||
|
|
||||||
if( g_HightLigth_NetCode > 0 )
|
|
||||||
{
|
|
||||||
for( ; pt_equipot != NULL; pt_equipot = (EQUIPOT*) pt_equipot->Pnext )
|
|
||||||
{
|
|
||||||
if( pt_equipot->GetNet() == g_HightLigth_NetCode )
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( pt_equipot )
|
|
||||||
{
|
|
||||||
line.Printf( wxT( "Zone: Net[%d] <%s>" ), g_HightLigth_NetCode,
|
|
||||||
pt_equipot->m_Netname.GetData() );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
line.Printf( wxT( "Zone: NetCode[%d], Equipot not found" ),
|
|
||||||
g_HightLigth_NetCode );
|
|
||||||
}
|
|
||||||
|
|
||||||
line = _( "Zone: No net selected" );
|
|
||||||
|
|
||||||
frame->Affiche_Message( line );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/********************************************************/
|
|
||||||
static void Exit_Zones( WinEDA_DrawPanel* Panel, wxDC* DC )
|
|
||||||
/********************************************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function Exit_Zones
|
|
||||||
* cancels the Begin_Zone state if at least one EDGE_ZONE has been created.
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
WinEDA_PcbFrame* pcbframe = (WinEDA_PcbFrame*) Panel->m_Parent;
|
|
||||||
|
|
||||||
if( pcbframe->m_Pcb->m_CurrentLimitZone )
|
|
||||||
{
|
|
||||||
if( Panel->ManageCurseur ) // trace in progress
|
|
||||||
{
|
|
||||||
Panel->ManageCurseur( Panel, DC, 0 );
|
|
||||||
}
|
|
||||||
pcbframe->DelLimitesZone( DC, TRUE );
|
|
||||||
}
|
|
||||||
|
|
||||||
Panel->ManageCurseur = NULL;
|
|
||||||
Panel->ForceCloseManageCurseur = NULL;
|
|
||||||
pcbframe->SetCurItem( NULL );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************/
|
|
||||||
void WinEDA_BasePcbFrame::DelLimitesZone( wxDC* DC, bool Redraw )
|
|
||||||
/**************************************************************/
|
|
||||||
{
|
|
||||||
EDGE_ZONE* segment;
|
|
||||||
EDGE_ZONE* next;
|
|
||||||
|
|
||||||
if( m_Pcb->m_CurrentLimitZone == NULL )
|
|
||||||
return;
|
|
||||||
|
|
||||||
if( !IsOK( this, _( "Delete Current Zone Edges" ) ) )
|
|
||||||
return;
|
|
||||||
|
|
||||||
// erase the old zone border, one segment at a time
|
|
||||||
for( segment = m_Pcb->m_CurrentLimitZone; segment; segment = next )
|
|
||||||
{
|
|
||||||
next = segment->Next();
|
|
||||||
|
|
||||||
if( Redraw && DC )
|
|
||||||
Trace_DrawSegmentPcb( DrawPanel, DC, segment, GR_XOR );
|
|
||||||
|
|
||||||
delete segment;
|
|
||||||
}
|
|
||||||
m_Pcb->m_CurrentLimitZone = NULL;
|
|
||||||
|
|
||||||
SetCurItem( NULL );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function Begin_Zone
|
|
||||||
* either initializes the first segment of a new zone, or adds an
|
|
||||||
* intermediate segment.
|
|
||||||
*/
|
|
||||||
EDGE_ZONE* WinEDA_PcbFrame::Begin_Zone()
|
|
||||||
{
|
|
||||||
EDGE_ZONE* oldedge;
|
|
||||||
EDGE_ZONE* newedge = NULL;
|
|
||||||
|
|
||||||
oldedge = m_Pcb->m_CurrentLimitZone;
|
|
||||||
|
|
||||||
// if first segment
|
|
||||||
if( (m_Pcb->m_CurrentLimitZone == NULL ) /* debut reel du trace */
|
|
||||||
|| (DrawPanel->ManageCurseur == NULL) ) /* reprise d'un trace complementaire */
|
|
||||||
{
|
|
||||||
newedge = new EDGE_ZONE( m_Pcb );
|
|
||||||
newedge->m_Flags = IS_NEW | STARTPOINT | IS_MOVED;
|
|
||||||
newedge->m_Start = newedge->m_End = GetScreen()->m_Curseur;
|
|
||||||
newedge->SetLayer( GetScreen()->m_Active_Layer );
|
|
||||||
|
|
||||||
// link into list:
|
|
||||||
newedge->Pnext = oldedge;
|
|
||||||
|
|
||||||
if( oldedge )
|
|
||||||
oldedge->Pback = newedge;
|
|
||||||
|
|
||||||
m_Pcb->m_CurrentLimitZone = newedge;
|
|
||||||
|
|
||||||
DrawPanel->ManageCurseur = Show_Zone_Edge_While_MoveMouse;
|
|
||||||
DrawPanel->ForceCloseManageCurseur = Exit_Zones;
|
|
||||||
}
|
|
||||||
|
|
||||||
// edge in progress:
|
|
||||||
else /* piste en cours : les coord du point d'arrivee ont ete mises
|
|
||||||
* a jour par la routine Show_Zone_Edge_While_MoveMouse*/
|
|
||||||
{
|
|
||||||
if( oldedge->m_Start != oldedge->m_End )
|
|
||||||
{
|
|
||||||
oldedge->m_Flags &= ~(IS_NEW | IS_MOVED);
|
|
||||||
|
|
||||||
newedge = new EDGE_ZONE( oldedge );
|
|
||||||
newedge->m_Flags = IS_NEW | IS_MOVED;
|
|
||||||
newedge->m_Start = newedge->m_End = oldedge->m_End;
|
|
||||||
newedge->SetLayer( GetScreen()->m_Active_Layer );
|
|
||||||
|
|
||||||
// link into list:
|
|
||||||
newedge->Pnext = oldedge;
|
|
||||||
oldedge->Pback = newedge;
|
|
||||||
m_Pcb->m_CurrentLimitZone = newedge;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return newedge;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*********************************************/
|
|
||||||
void WinEDA_PcbFrame::End_Zone( wxDC* DC )
|
|
||||||
/*********************************************/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Routine de fin de trace d'une zone (succession de segments)
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
EDGE_ZONE* edge;
|
|
||||||
|
|
||||||
if( m_Pcb->m_CurrentLimitZone )
|
|
||||||
{
|
|
||||||
Begin_Zone();
|
|
||||||
|
|
||||||
/* le dernier point genere est de longueur tj nulle donc inutile. */
|
|
||||||
/* il sera raccorde au point de depart */
|
|
||||||
edge = m_Pcb->m_CurrentLimitZone;
|
|
||||||
edge->m_Flags &= ~(IS_NEW | IS_MOVED);
|
|
||||||
|
|
||||||
while( edge && edge->Next() )
|
|
||||||
{
|
|
||||||
edge = edge->Next();
|
|
||||||
if( edge->m_Flags & STARTPOINT )
|
|
||||||
break;
|
|
||||||
|
|
||||||
edge->m_Flags &= ~(IS_NEW | IS_MOVED);
|
|
||||||
}
|
|
||||||
|
|
||||||
if( edge )
|
|
||||||
{
|
|
||||||
edge->m_Flags &= ~(IS_NEW | IS_MOVED);
|
|
||||||
m_Pcb->m_CurrentLimitZone->m_End = edge->m_Start;
|
|
||||||
}
|
|
||||||
Trace_DrawSegmentPcb( DrawPanel, DC, m_Pcb->m_CurrentLimitZone, GR_XOR );
|
|
||||||
}
|
|
||||||
|
|
||||||
DrawPanel->ManageCurseur = NULL;
|
|
||||||
DrawPanel->ForceCloseManageCurseur = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************************/
|
|
||||||
static void Show_Zone_Edge_While_MoveMouse( WinEDA_DrawPanel* panel, wxDC* DC, bool erase )
|
|
||||||
/******************************************************************************************/
|
|
||||||
|
|
||||||
/* redessin du contour de la piste lors des deplacements de la souris
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
EDGE_ZONE* edge;
|
|
||||||
EDGE_ZONE* currentEdge;
|
|
||||||
WinEDA_PcbFrame* pcbframe = (WinEDA_PcbFrame*) panel->m_Parent;
|
|
||||||
|
|
||||||
if( pcbframe->m_Pcb->m_CurrentLimitZone == NULL )
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* efface ancienne position si elle a ete deja dessinee */
|
|
||||||
if( erase )
|
|
||||||
{
|
|
||||||
edge = pcbframe->m_Pcb->m_CurrentLimitZone;
|
|
||||||
// for( ; edge; edge = edge->Next() )
|
|
||||||
{
|
|
||||||
Trace_DrawSegmentPcb( panel, DC, edge, GR_XOR );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* mise a jour de la couche */
|
|
||||||
for( edge = pcbframe->m_Pcb->m_CurrentLimitZone; edge; edge = edge->Next() )
|
|
||||||
{
|
|
||||||
edge->SetLayer( pcbframe->GetScreen()->m_Active_Layer );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* dessin de la nouvelle piste : mise a jour du point d'arrivee */
|
|
||||||
currentEdge = pcbframe->m_Pcb->m_CurrentLimitZone;
|
|
||||||
if( Zone_45_Only )
|
|
||||||
{
|
|
||||||
// Calcul de l'extremite de la piste pour orientations permises:
|
|
||||||
// horiz,vertical ou 45 degre
|
|
||||||
currentEdge->m_End = pcbframe->GetScreen()->m_Curseur;
|
|
||||||
Calcule_Coord_Extremite_45( currentEdge->m_Start.x, currentEdge->m_Start.y,
|
|
||||||
¤tEdge->m_End.x, ¤tEdge->m_End.y );
|
|
||||||
}
|
|
||||||
else /* ici l'angle d'inclinaison est quelconque */
|
|
||||||
{
|
|
||||||
currentEdge->m_End = pcbframe->GetScreen()->m_Curseur;
|
|
||||||
}
|
|
||||||
|
|
||||||
// for( ; currentEdge; currentEdge = currentEdge->Next() )
|
|
||||||
{
|
|
||||||
Trace_DrawSegmentPcb( panel, DC, currentEdge, GR_XOR );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**********************************************/
|
|
||||||
void WinEDA_PcbFrame::Fill_Zone( wxDC* DC )
|
|
||||||
/**********************************************/
|
|
||||||
|
|
||||||
/** Function Fill_Zone()
|
|
||||||
* Init the zone filling
|
|
||||||
* If a zone edge is found, it is used.
|
|
||||||
* Otherwise the whole board is filled by the zone
|
|
||||||
* The zone edge is a frontier, and can be complex. So non filled zones can be achieved
|
|
||||||
* The zone is put on the active layer
|
|
||||||
* If a net is hightlighted, the zone will be attached to this net
|
|
||||||
* The filling start from a starting point.
|
|
||||||
* If a net is selected, all tracks attached to this net are also starting points
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
EQUIPOT* pt_equipot;
|
|
||||||
wxPoint ZoneStartFill;
|
|
||||||
wxString msg;
|
|
||||||
|
|
||||||
MsgPanel->EraseMsgBox();
|
|
||||||
if( m_Pcb->ComputeBoundaryBox() == FALSE )
|
|
||||||
{
|
|
||||||
DisplayError( this, wxT( "Board is empty!" ), 10 );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
DrawPanel->m_IgnoreMouseEvents = TRUE;
|
|
||||||
WinEDA_ZoneFrame* frame = new WinEDA_ZoneFrame( this );
|
|
||||||
|
|
||||||
int abrd = frame->ShowModal();
|
|
||||||
frame->Destroy();
|
|
||||||
DrawPanel->MouseToCursorSchema();
|
|
||||||
DrawPanel->m_IgnoreMouseEvents = FALSE;
|
|
||||||
|
|
||||||
if( abrd )
|
|
||||||
return;
|
|
||||||
|
|
||||||
|
|
||||||
// set all the EDGE_ZONEs to the currently active layer and redraw them
|
|
||||||
// on that layer.
|
|
||||||
EDGE_ZONE* PtLim = m_Pcb->m_CurrentLimitZone;
|
|
||||||
for( ; PtLim != NULL; PtLim = PtLim->Next() )
|
|
||||||
{
|
|
||||||
Trace_DrawSegmentPcb( DrawPanel, DC, PtLim, GR_XOR );
|
|
||||||
PtLim->SetLayer( GetScreen()->m_Active_Layer );
|
|
||||||
Trace_DrawSegmentPcb( DrawPanel, DC, PtLim, GR_XOR );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Show the NetName */
|
|
||||||
if( g_HightLigth_NetCode > 0 )
|
|
||||||
{
|
|
||||||
pt_equipot = m_Pcb->FindNet( g_HightLigth_NetCode );
|
|
||||||
if( pt_equipot == NULL )
|
|
||||||
{
|
|
||||||
if( g_HightLigth_NetCode > 0 )
|
|
||||||
DisplayError( this, wxT( "Unable to find Net name" ) );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
msg = pt_equipot->m_Netname;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
msg = _( "No Net" );
|
|
||||||
|
|
||||||
Affiche_1_Parametre( this, 22, _( "NetName" ), msg, RED );
|
|
||||||
|
|
||||||
Build_Zone( this, DC, g_HightLigth_NetCode, Zone_Exclude_Pads, s_Zone_Create_Thermal_Relief );
|
|
||||||
|
|
||||||
GetScreen()->SetModify();
|
|
||||||
}
|
|
126
pcbnew/zones.h
126
pcbnew/zones.h
|
@ -1,126 +0,0 @@
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Name: zones.h
|
|
||||||
// Purpose:
|
|
||||||
// Author: jean-pierre Charras
|
|
||||||
// Modified by:
|
|
||||||
// Created: 25/01/2006 11:35:19
|
|
||||||
// RCS-ID:
|
|
||||||
// Copyright: GNU License
|
|
||||||
// Licence:
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
// Generated by DialogBlocks (unregistered), 25/01/2006 11:35:19
|
|
||||||
|
|
||||||
#ifndef _ZONES_H_
|
|
||||||
#define _ZONES_H_
|
|
||||||
|
|
||||||
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
|
||||||
#pragma interface "zones.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Includes
|
|
||||||
*/
|
|
||||||
#include "fctsys.h"
|
|
||||||
#include "gr_basic.h"
|
|
||||||
|
|
||||||
#include "common.h"
|
|
||||||
#include "pcbnew.h"
|
|
||||||
|
|
||||||
#include "autorout.h"
|
|
||||||
#include "cell.h"
|
|
||||||
#include "trigo.h"
|
|
||||||
|
|
||||||
#include "protos.h"
|
|
||||||
|
|
||||||
////@begin includes
|
|
||||||
////@end includes
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Forward declarations
|
|
||||||
*/
|
|
||||||
|
|
||||||
////@begin forward declarations
|
|
||||||
////@end forward declarations
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Control identifiers
|
|
||||||
*/
|
|
||||||
|
|
||||||
////@begin control identifiers
|
|
||||||
#define ID_DIALOG 10000
|
|
||||||
#define ID_RADIOBOX 10001
|
|
||||||
#define ID_TEXTCTRL 10006
|
|
||||||
#define ID_RADIOBOX1 10004
|
|
||||||
#define ID_RADIOBOX2 10005
|
|
||||||
#define ID_FILL_ZONE 10002
|
|
||||||
#define ID_SET_OPTIONS_ZONE 10003
|
|
||||||
#define SYMBOL_WINEDA_ZONEFRAME_STYLE wxCAPTION|wxSYSTEM_MENU|wxCLOSE_BOX|MAYBE_RESIZE_BORDER
|
|
||||||
#define SYMBOL_WINEDA_ZONEFRAME_TITLE _("Fill Zones Options")
|
|
||||||
#define SYMBOL_WINEDA_ZONEFRAME_IDNAME ID_DIALOG
|
|
||||||
#define SYMBOL_WINEDA_ZONEFRAME_SIZE wxSize(400, 300)
|
|
||||||
#define SYMBOL_WINEDA_ZONEFRAME_POSITION wxDefaultPosition
|
|
||||||
////@end control identifiers
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Compatibility
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef wxCLOSE_BOX
|
|
||||||
#define wxCLOSE_BOX 0x1000
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* WinEDA_ZoneFrame class declaration
|
|
||||||
*/
|
|
||||||
|
|
||||||
class WinEDA_ZoneFrame: public wxDialog
|
|
||||||
{
|
|
||||||
DECLARE_DYNAMIC_CLASS( WinEDA_ZoneFrame )
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
|
|
||||||
public:
|
|
||||||
/// Constructors
|
|
||||||
WinEDA_ZoneFrame( );
|
|
||||||
WinEDA_ZoneFrame( WinEDA_PcbFrame* parent, wxWindowID id = SYMBOL_WINEDA_ZONEFRAME_IDNAME, const wxString& caption = SYMBOL_WINEDA_ZONEFRAME_TITLE, const wxPoint& pos = SYMBOL_WINEDA_ZONEFRAME_POSITION, const wxSize& size = SYMBOL_WINEDA_ZONEFRAME_SIZE, long style = SYMBOL_WINEDA_ZONEFRAME_STYLE );
|
|
||||||
|
|
||||||
/// Creation
|
|
||||||
bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WINEDA_ZONEFRAME_IDNAME, const wxString& caption = SYMBOL_WINEDA_ZONEFRAME_TITLE, const wxPoint& pos = SYMBOL_WINEDA_ZONEFRAME_POSITION, const wxSize& size = SYMBOL_WINEDA_ZONEFRAME_SIZE, long style = SYMBOL_WINEDA_ZONEFRAME_STYLE );
|
|
||||||
|
|
||||||
/// Creates the controls and sizers
|
|
||||||
void CreateControls();
|
|
||||||
|
|
||||||
////@begin WinEDA_ZoneFrame event handler declarations
|
|
||||||
|
|
||||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_FILL_ZONE
|
|
||||||
void ExecFillZone( wxCommandEvent& event );
|
|
||||||
|
|
||||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
|
|
||||||
void OnCancelClick( wxCommandEvent& event );
|
|
||||||
|
|
||||||
////@end WinEDA_ZoneFrame event handler declarations
|
|
||||||
|
|
||||||
////@begin WinEDA_ZoneFrame member function declarations
|
|
||||||
|
|
||||||
/// Retrieves bitmap resources
|
|
||||||
wxBitmap GetBitmapResource( const wxString& name );
|
|
||||||
|
|
||||||
/// Retrieves icon resources
|
|
||||||
wxIcon GetIconResource( const wxString& name );
|
|
||||||
////@end WinEDA_ZoneFrame member function declarations
|
|
||||||
|
|
||||||
/// Should we show tooltips?
|
|
||||||
static bool ShowToolTips();
|
|
||||||
|
|
||||||
////@begin WinEDA_ZoneFrame member variables
|
|
||||||
wxRadioBox* m_GridCtrl;
|
|
||||||
wxStaticText* m_ClearanceValueTitle;
|
|
||||||
wxTextCtrl* m_ZoneClearanceCtrl;
|
|
||||||
wxRadioBox* m_FillOpt;
|
|
||||||
wxRadioBox* m_OrientEdgesOpt;
|
|
||||||
////@end WinEDA_ZoneFrame member variables
|
|
||||||
WinEDA_PcbFrame * m_Parent;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // _ZONES_H_
|
|
||||||
|
|
893
pcbnew/zones.pjd
893
pcbnew/zones.pjd
|
@ -1,893 +0,0 @@
|
||||||
<?xml version="1.0" encoding="windows-1252"?>
|
|
||||||
<anthemion-project version="1.0.0.0" xmlns="http://www.anthemion.co.uk">
|
|
||||||
<header>
|
|
||||||
<long name="name_counter">0</long>
|
|
||||||
<string name="html_path">""</string>
|
|
||||||
<string name="title">""</string>
|
|
||||||
<string name="author">""</string>
|
|
||||||
<string name="description">""</string>
|
|
||||||
<long name="doc_count">23</long>
|
|
||||||
<string name="xrc_filename">""</string>
|
|
||||||
<bool name="convert_images_to_xpm">0</bool>
|
|
||||||
<bool name="inline_images">0</bool>
|
|
||||||
<bool name="generate_cpp_for_xrc">0</bool>
|
|
||||||
<bool name="use_help_text_for_tooltips">1</bool>
|
|
||||||
<bool name="translate_strings">1</bool>
|
|
||||||
<bool name="extract_strings">0</bool>
|
|
||||||
<string name="user_name">"jean-pierre Charras"</string>
|
|
||||||
<string name="copyright_string">"GNU License"</string>
|
|
||||||
<string name="resource_prefix">""</string>
|
|
||||||
<bool name="use_two_step_construction">0</bool>
|
|
||||||
<string name="current_platform">"<All platforms>"</string>
|
|
||||||
<string name="target_wx_version">"<Any>"</string>
|
|
||||||
<string name="cpp_header_comment">"/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Name: %HEADER-FILENAME%
|
|
||||||
// Purpose:
|
|
||||||
// Author: %AUTHOR%
|
|
||||||
// Modified by:
|
|
||||||
// Created: %DATE%
|
|
||||||
// RCS-ID:
|
|
||||||
// Copyright: %COPYRIGHT%
|
|
||||||
// Licence:
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
"</string>
|
|
||||||
<string name="cpp_implementation_comment">"/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Name: %SOURCE-FILENAME%
|
|
||||||
// Purpose:
|
|
||||||
// Author: %AUTHOR%
|
|
||||||
// Modified by:
|
|
||||||
// Created: %DATE%
|
|
||||||
// RCS-ID:
|
|
||||||
// Copyright: %COPYRIGHT%
|
|
||||||
// Licence:
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
"</string>
|
|
||||||
<string name="cpp_function_comment">"
|
|
||||||
/*!
|
|
||||||
* %BODY%
|
|
||||||
*/
|
|
||||||
|
|
||||||
"</string>
|
|
||||||
<string name="cpp_symbols_file_comment">"/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Name: %SYMBOLS-FILENAME%
|
|
||||||
// Purpose: Symbols file
|
|
||||||
// Author: %AUTHOR%
|
|
||||||
// Modified by:
|
|
||||||
// Created: %DATE%
|
|
||||||
// RCS-ID:
|
|
||||||
// Copyright: %COPYRIGHT%
|
|
||||||
// Licence:
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
"</string>
|
|
||||||
<string name="cpp_header_preamble">"#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
|
||||||
#pragma interface "%HEADER-FILENAME%"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
"</string>
|
|
||||||
<string name="cpp_implementation_preamble">"#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
|
||||||
#pragma implementation "%HEADER-FILENAME%"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// For compilers that support precompilation, includes "wx/wx.h".
|
|
||||||
#include "wx/wxprec.h"
|
|
||||||
|
|
||||||
#ifdef __BORLANDC__
|
|
||||||
#pragma hdrstop
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef WX_PRECOMP
|
|
||||||
#include "wx/wx.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
"</string>
|
|
||||||
<string name="resource_file_header">"app_resources.h"</string>
|
|
||||||
<string name="resource_file_implementation">"app_resources.cpp"</string>
|
|
||||||
<string name="resource_class_name">"AppResources"</string>
|
|
||||||
<string name="app_file_header">"app.h"</string>
|
|
||||||
<string name="app_file_implementation">"app.cpp"</string>
|
|
||||||
<string name="app_class_name">"Application"</string>
|
|
||||||
<bool name="generate_app_class">0</bool>
|
|
||||||
<string name="external_symbol_filenames">""</string>
|
|
||||||
<string name="configuration">"<None>"</string>
|
|
||||||
<string name="source_encoding">"<System>"</string>
|
|
||||||
<string name="project_encoding">"<System>"</string>
|
|
||||||
<string name="resource_archive">""</string>
|
|
||||||
<bool name="use_resource_archive">0</bool>
|
|
||||||
<bool name="archive_xrc_files">1</bool>
|
|
||||||
<bool name="archive_image_files">1</bool>
|
|
||||||
</header>
|
|
||||||
<data>
|
|
||||||
<document>
|
|
||||||
<string name="title">""</string>
|
|
||||||
<string name="type">"data-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">""</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<document>
|
|
||||||
<string name="title">"Configurations"</string>
|
|
||||||
<string name="type">"config-data-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">""</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="template-name">""</string>
|
|
||||||
<bool name="dirty">1</bool>
|
|
||||||
<string name="Compiler name">""</string>
|
|
||||||
<string name="Build mode">"Debug"</string>
|
|
||||||
<string name="Unicode mode">"ANSI"</string>
|
|
||||||
<string name="Shared mode">"Static"</string>
|
|
||||||
<string name="Modularity">"Modular"</string>
|
|
||||||
<string name="GUI mode">"GUI"</string>
|
|
||||||
<string name="Toolkit">"wxMSW"</string>
|
|
||||||
<string name="Runtime linking">"Dynamic"</string>
|
|
||||||
<string name="Use exceptions">"Yes"</string>
|
|
||||||
<string name="Use ODBC">"No"</string>
|
|
||||||
<string name="Use OpenGL">"No"</string>
|
|
||||||
<string name="wxWidgets version">"%WXVERSION%"</string>
|
|
||||||
<string name="Executable name">"%EXECUTABLE%"</string>
|
|
||||||
<string name="Program arguments">""</string>
|
|
||||||
<string name="Working path">"%AUTO%"</string>
|
|
||||||
<string name="Output path">"%AUTO%"</string>
|
|
||||||
<string name="Objects path">"%AUTO%"</string>
|
|
||||||
<string name="Compiler location">"%AUTO%"</string>
|
|
||||||
<string name="wxWidgets location">"%AUTO%"</string>
|
|
||||||
<string name="C++ command">"%AUTO%"</string>
|
|
||||||
<string name="Resource compiler">"%AUTO%"</string>
|
|
||||||
<string name="Make command">"%AUTO%"</string>
|
|
||||||
<string name="Project makefile">"%AUTO%"</string>
|
|
||||||
<string name="wxWidgets makefile">"%AUTO%"</string>
|
|
||||||
<string name="Compiler bin path">"%AUTO%"</string>
|
|
||||||
<string name="Compiler include path">"%AUTO%"</string>
|
|
||||||
<string name="Compiler lib path">"%AUTO%"</string>
|
|
||||||
<string name="Preprocessor flags">"%AUTO%"</string>
|
|
||||||
<string name="Optimizations">"%AUTO%"</string>
|
|
||||||
<string name="Warnings">"%AUTO%"</string>
|
|
||||||
<string name="Debug flags">"%AUTO%"</string>
|
|
||||||
<string name="Libraries">"%AUTO%"</string>
|
|
||||||
<string name="Library path">"%AUTO%"</string>
|
|
||||||
<string name="Linker flags">"%AUTO%"</string>
|
|
||||||
<string name="Include path">"%AUTO%"</string>
|
|
||||||
<string name="Resource flags">"%AUTO%"</string>
|
|
||||||
<string name="Resource path">"%AUTO%"</string>
|
|
||||||
<string name="wxWidgets build path">"%AUTO%"</string>
|
|
||||||
<string name="wxWidgets build command">"%AUTO%"</string>
|
|
||||||
<string name="wxWidgets clean command">"%AUTO%"</string>
|
|
||||||
<string name="PATH variable">"%AUTO%"</string>
|
|
||||||
</document>
|
|
||||||
</document>
|
|
||||||
</data>
|
|
||||||
|
|
||||||
<documents>
|
|
||||||
<document>
|
|
||||||
<string name="title">"Projects"</string>
|
|
||||||
<string name="type">"root-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"project"</string>
|
|
||||||
<long name="is-transient">1</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<document>
|
|
||||||
<string name="title">"Windows"</string>
|
|
||||||
<string name="type">"html-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"dialogsfolder"</string>
|
|
||||||
<long name="is-transient">1</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">1</long>
|
|
||||||
<document>
|
|
||||||
<string name="title">"Fill Zones Options"</string>
|
|
||||||
<string name="type">"dialog-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"dialog"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/4/2006"</string>
|
|
||||||
<string name="proxy-type">"wbDialogProxy"</string>
|
|
||||||
<long name="base-id">10000</long>
|
|
||||||
<bool name="use-id-prefix">0</bool>
|
|
||||||
<string name="id-prefix">""</string>
|
|
||||||
<long name="use-xrc">0</long>
|
|
||||||
<string name="proxy-Id name">"ID_DIALOG"</string>
|
|
||||||
<long name="proxy-Id value">10000</long>
|
|
||||||
<string name="proxy-Class">"WinEDA_ZoneFrame"</string>
|
|
||||||
<string name="proxy-Base class">"wxDialog"</string>
|
|
||||||
<string name="proxy-Window kind">"wxDialog"</string>
|
|
||||||
<string name="proxy-Implementation filename">"zones.cpp"</string>
|
|
||||||
<string name="proxy-Header filename">"zones.h"</string>
|
|
||||||
<string name="proxy-XRC filename">""</string>
|
|
||||||
<string name="proxy-Title">"Fill Zones Options"</string>
|
|
||||||
<bool name="proxy-Centre">1</bool>
|
|
||||||
<string name="proxy-Icon">""</string>
|
|
||||||
<bool name="proxy-Dialog units">0</bool>
|
|
||||||
<string name="proxy-Help text">""</string>
|
|
||||||
<string name="proxy-Tooltip text">""</string>
|
|
||||||
<string name="proxy-Background colour">""</string>
|
|
||||||
<string name="proxy-Foreground colour">""</string>
|
|
||||||
<string name="proxy-Font">""</string>
|
|
||||||
<bool name="proxy-Hidden">0</bool>
|
|
||||||
<bool name="proxy-Enabled">1</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<bool name="proxy-wxDEFAULT_DIALOG_STYLE">0</bool>
|
|
||||||
<bool name="proxy-wxCAPTION">1</bool>
|
|
||||||
<bool name="proxy-wxRESIZE_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxTHICK_FRAME">0</bool>
|
|
||||||
<bool name="proxy-wxSYSTEM_MENU">1</bool>
|
|
||||||
<bool name="proxy-wxSTAY_ON_TOP">0</bool>
|
|
||||||
<bool name="proxy-wxDIALOG_NO_PARENT">0</bool>
|
|
||||||
<bool name="proxy-wxCLOSE_BOX">1</bool>
|
|
||||||
<bool name="proxy-wxMAXIMIZE_BOX">0</bool>
|
|
||||||
<bool name="proxy-wxMINIMIZE_BOX">0</bool>
|
|
||||||
<bool name="proxy-wxDIALOG_MODAL">0</bool>
|
|
||||||
<bool name="proxy-wxNO_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxSIMPLE_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxDOUBLE_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxSUNKEN_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxRAISED_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxSTATIC_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
|
||||||
<bool name="proxy-wxCLIP_CHILDREN ">0</bool>
|
|
||||||
<bool name="proxy-wxTAB_TRAVERSAL">0</bool>
|
|
||||||
<bool name="proxy-wxWS_EX_VALIDATE_RECURSIVELY">0</bool>
|
|
||||||
<bool name="proxy-wxWS_EX_BLOCK_EVENTS">1</bool>
|
|
||||||
<bool name="proxy-wxWS_EX_TRANSIENT">0</bool>
|
|
||||||
<string name="proxy-Custom styles">"MAYBE_RESIZE_BORDER"</string>
|
|
||||||
<bool name="proxy-wxDIALOG_EX_CONTEXTHELP">0</bool>
|
|
||||||
<bool name="proxy-Fit to content">1</bool>
|
|
||||||
<long name="proxy-X">-1</long>
|
|
||||||
<long name="proxy-Y">-1</long>
|
|
||||||
<long name="proxy-Width">400</long>
|
|
||||||
<long name="proxy-Height">300</long>
|
|
||||||
<string name="proxy-Event sources">""</string>
|
|
||||||
<document>
|
|
||||||
<string name="title">"wxBoxSizer H"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"sizer"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="proxy-type">"wbBoxSizerProxy"</string>
|
|
||||||
<string name="proxy-Orientation">"Horizontal"</string>
|
|
||||||
<string name="proxy-Member variable name">""</string>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<document>
|
|
||||||
<string name="title">"wxBoxSizer V"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"sizer"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/4/2006"</string>
|
|
||||||
<string name="proxy-type">"wbBoxSizerProxy"</string>
|
|
||||||
<string name="proxy-Orientation">"Vertical"</string>
|
|
||||||
<string name="proxy-Member variable name">""</string>
|
|
||||||
<string name="proxy-AlignH">"Centre"</string>
|
|
||||||
<string name="proxy-AlignV">"Expand"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<document>
|
|
||||||
<string name="title">"wxRadioBox: ID_RADIOBOX"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"radiobox"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/4/2006"</string>
|
|
||||||
<string name="proxy-type">"wbRadioBoxProxy"</string>
|
|
||||||
<string name="proxy-Id name">"ID_RADIOBOX"</string>
|
|
||||||
<long name="proxy-Id value">10001</long>
|
|
||||||
<string name="proxy-Class">"wxRadioBox"</string>
|
|
||||||
<string name="proxy-Member variable name">"m_GridCtrl"</string>
|
|
||||||
<string name="proxy-Label">"Grid size:"</string>
|
|
||||||
<long name="proxy-Major dimension count">1</long>
|
|
||||||
<string name="proxy-Help text">""</string>
|
|
||||||
<string name="proxy-Tooltip text">""</string>
|
|
||||||
<string name="proxy-Background colour">""</string>
|
|
||||||
<string name="proxy-Foreground colour">""</string>
|
|
||||||
<string name="proxy-Font">""</string>
|
|
||||||
<bool name="proxy-Hidden">0</bool>
|
|
||||||
<bool name="proxy-Enabled">1</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<string name="proxy-Data variable">""</string>
|
|
||||||
<string name="proxy-Data validator">""</string>
|
|
||||||
<bool name="proxy-wxRA_SPECIFY_ROWS">0</bool>
|
|
||||||
<bool name="proxy-wxRA_SPECIFY_COLS">1</bool>
|
|
||||||
<string name="proxy-Items">"0.00000|0.00000|0.00000|0.00000"</string>
|
|
||||||
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
|
||||||
<string name="proxy-Custom styles">""</string>
|
|
||||||
<long name="proxy-X">-1</long>
|
|
||||||
<long name="proxy-Y">-1</long>
|
|
||||||
<long name="proxy-Width">-1</long>
|
|
||||||
<long name="proxy-Height">-1</long>
|
|
||||||
<string name="proxy-AlignH">"Left"</string>
|
|
||||||
<string name="proxy-AlignV">"Centre"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Custom arguments">""</string>
|
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
|
||||||
</document>
|
|
||||||
<document>
|
|
||||||
<string name="title">"wxStaticText: wxID_STATIC"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"statictext"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/12/2006"</string>
|
|
||||||
<string name="proxy-type">"wbStaticTextProxy"</string>
|
|
||||||
<string name="proxy-Id name">"wxID_STATIC"</string>
|
|
||||||
<long name="proxy-Id value">5105</long>
|
|
||||||
<string name="proxy-Class">"wxStaticText"</string>
|
|
||||||
<string name="proxy-Member variable name">"m_ClearanceValueTitle"</string>
|
|
||||||
<string name="proxy-Label">"Zone clearance value (mm):"</string>
|
|
||||||
<string name="proxy-Help text">""</string>
|
|
||||||
<string name="proxy-Tooltip text">""</string>
|
|
||||||
<string name="proxy-Background colour">""</string>
|
|
||||||
<string name="proxy-Foreground colour">""</string>
|
|
||||||
<string name="proxy-Font">""</string>
|
|
||||||
<bool name="proxy-Hidden">0</bool>
|
|
||||||
<bool name="proxy-Enabled">1</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<string name="proxy-Data variable">""</string>
|
|
||||||
<string name="proxy-Data validator">""</string>
|
|
||||||
<bool name="proxy-wxALIGN_LEFT">0</bool>
|
|
||||||
<bool name="proxy-wxALIGN_RIGHT">0</bool>
|
|
||||||
<bool name="proxy-wxALIGN_CENTRE">0</bool>
|
|
||||||
<bool name="proxy-wxST_NO_AUTORESIZE">0</bool>
|
|
||||||
<bool name="proxy-wxNO_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxSIMPLE_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxDOUBLE_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxSUNKEN_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxRAISED_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxSTATIC_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
|
||||||
<string name="proxy-Custom styles">""</string>
|
|
||||||
<long name="proxy-X">-1</long>
|
|
||||||
<long name="proxy-Y">-1</long>
|
|
||||||
<long name="proxy-Width">-1</long>
|
|
||||||
<long name="proxy-Height">-1</long>
|
|
||||||
<string name="proxy-AlignH">"Left"</string>
|
|
||||||
<string name="proxy-AlignV">"Centre"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">0</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">1</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Custom arguments">""</string>
|
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
|
||||||
</document>
|
|
||||||
<document>
|
|
||||||
<string name="title">"wxTextCtrl: ID_TEXTCTRL"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"textctrl"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/12/2006"</string>
|
|
||||||
<string name="proxy-type">"wbTextCtrlProxy"</string>
|
|
||||||
<string name="proxy-Id name">"ID_TEXTCTRL"</string>
|
|
||||||
<long name="proxy-Id value">10006</long>
|
|
||||||
<string name="proxy-Class">"wxTextCtrl"</string>
|
|
||||||
<string name="proxy-Member variable name">"m_ZoneClearanceCtrl"</string>
|
|
||||||
<string name="proxy-Initial value">""</string>
|
|
||||||
<long name="proxy-Max length">0</long>
|
|
||||||
<string name="proxy-Help text">""</string>
|
|
||||||
<string name="proxy-Tooltip text">""</string>
|
|
||||||
<string name="proxy-Background colour">""</string>
|
|
||||||
<string name="proxy-Foreground colour">""</string>
|
|
||||||
<string name="proxy-Font">""</string>
|
|
||||||
<bool name="proxy-Hidden">0</bool>
|
|
||||||
<bool name="proxy-Enabled">1</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<string name="proxy-Data variable">""</string>
|
|
||||||
<string name="proxy-Data validator">""</string>
|
|
||||||
<bool name="proxy-wxTE_MULTILINE">0</bool>
|
|
||||||
<bool name="proxy-wxTE_PROCESS_ENTER">0</bool>
|
|
||||||
<bool name="proxy-wxTE_PROCESS_TAB">0</bool>
|
|
||||||
<bool name="proxy-wxTE_PASSWORD">0</bool>
|
|
||||||
<bool name="proxy-wxTE_READONLY">0</bool>
|
|
||||||
<bool name="proxy-wxTE_RICH">0</bool>
|
|
||||||
<bool name="proxy-wxTE_RICH2">0</bool>
|
|
||||||
<bool name="proxy-wxTE_AUTO_URL">0</bool>
|
|
||||||
<bool name="proxy-wxTE_NOHIDESEL">0</bool>
|
|
||||||
<bool name="proxy-wxTE_LEFT">0</bool>
|
|
||||||
<bool name="proxy-wxTE_CENTRE">0</bool>
|
|
||||||
<bool name="proxy-wxTE_RIGHT">0</bool>
|
|
||||||
<bool name="proxy-wxHSCROLL">0</bool>
|
|
||||||
<bool name="proxy-wxTE_LINEWRAP">0</bool>
|
|
||||||
<bool name="proxy-wxTE_WORDWRAP">0</bool>
|
|
||||||
<bool name="proxy-wxNO_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxSIMPLE_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxDOUBLE_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxSUNKEN_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxRAISED_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxSTATIC_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
|
||||||
<string name="proxy-Custom styles">""</string>
|
|
||||||
<long name="proxy-X">-1</long>
|
|
||||||
<long name="proxy-Y">-1</long>
|
|
||||||
<long name="proxy-Width">-1</long>
|
|
||||||
<long name="proxy-Height">-1</long>
|
|
||||||
<string name="proxy-AlignH">"Left"</string>
|
|
||||||
<string name="proxy-AlignV">"Centre"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">0</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Custom arguments">""</string>
|
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
|
||||||
</document>
|
|
||||||
</document>
|
|
||||||
<document>
|
|
||||||
<string name="title">"Spacer"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"spacer"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/4/2006"</string>
|
|
||||||
<string name="proxy-type">"wbSpacerProxy"</string>
|
|
||||||
<long name="proxy-Width">5</long>
|
|
||||||
<long name="proxy-Height">5</long>
|
|
||||||
<string name="proxy-AlignH">"Centre"</string>
|
|
||||||
<string name="proxy-AlignV">"Expand"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
</document>
|
|
||||||
<document>
|
|
||||||
<string name="title">"wxBoxSizer V"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"sizer"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/4/2006"</string>
|
|
||||||
<string name="proxy-type">"wbBoxSizerProxy"</string>
|
|
||||||
<string name="proxy-Orientation">"Vertical"</string>
|
|
||||||
<string name="proxy-Member variable name">""</string>
|
|
||||||
<string name="proxy-AlignH">"Centre"</string>
|
|
||||||
<string name="proxy-AlignV">"Expand"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<document>
|
|
||||||
<string name="title">"wxRadioBox: ID_RADIOBOX1"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"radiobox"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/4/2006"</string>
|
|
||||||
<string name="proxy-type">"wbRadioBoxProxy"</string>
|
|
||||||
<string name="proxy-Id name">"ID_RADIOBOX1"</string>
|
|
||||||
<long name="proxy-Id value">10004</long>
|
|
||||||
<string name="proxy-Class">"wxRadioBox"</string>
|
|
||||||
<string name="proxy-Member variable name">"m_FillOpt"</string>
|
|
||||||
<string name="proxy-Label">"Pad options:"</string>
|
|
||||||
<long name="proxy-Major dimension count">1</long>
|
|
||||||
<string name="proxy-Help text">""</string>
|
|
||||||
<string name="proxy-Tooltip text">""</string>
|
|
||||||
<string name="proxy-Background colour">""</string>
|
|
||||||
<string name="proxy-Foreground colour">""</string>
|
|
||||||
<string name="proxy-Font">""</string>
|
|
||||||
<bool name="proxy-Hidden">0</bool>
|
|
||||||
<bool name="proxy-Enabled">1</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<string name="proxy-Data variable">""</string>
|
|
||||||
<string name="proxy-Data validator">""</string>
|
|
||||||
<bool name="proxy-wxRA_SPECIFY_ROWS">0</bool>
|
|
||||||
<bool name="proxy-wxRA_SPECIFY_COLS">1</bool>
|
|
||||||
<string name="proxy-Items">"Include Pads|Thermal|Exclude Pads"</string>
|
|
||||||
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
|
||||||
<string name="proxy-Custom styles">""</string>
|
|
||||||
<long name="proxy-X">-1</long>
|
|
||||||
<long name="proxy-Y">-1</long>
|
|
||||||
<long name="proxy-Width">-1</long>
|
|
||||||
<long name="proxy-Height">-1</long>
|
|
||||||
<string name="proxy-AlignH">"Left"</string>
|
|
||||||
<string name="proxy-AlignV">"Centre"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Custom arguments">""</string>
|
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
|
||||||
</document>
|
|
||||||
<document>
|
|
||||||
<string name="title">"wxRadioBox: ID_RADIOBOX2"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"radiobox"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/4/2006"</string>
|
|
||||||
<string name="proxy-type">"wbRadioBoxProxy"</string>
|
|
||||||
<string name="proxy-Id name">"ID_RADIOBOX2"</string>
|
|
||||||
<long name="proxy-Id value">10005</long>
|
|
||||||
<string name="proxy-Class">"wxRadioBox"</string>
|
|
||||||
<string name="proxy-Member variable name">"m_OrientEdgesOpt"</string>
|
|
||||||
<string name="proxy-Label">"Zone edges orient:"</string>
|
|
||||||
<long name="proxy-Major dimension count">1</long>
|
|
||||||
<string name="proxy-Help text">""</string>
|
|
||||||
<string name="proxy-Tooltip text">""</string>
|
|
||||||
<string name="proxy-Background colour">""</string>
|
|
||||||
<string name="proxy-Foreground colour">""</string>
|
|
||||||
<string name="proxy-Font">""</string>
|
|
||||||
<bool name="proxy-Hidden">0</bool>
|
|
||||||
<bool name="proxy-Enabled">1</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<string name="proxy-Data variable">""</string>
|
|
||||||
<string name="proxy-Data validator">""</string>
|
|
||||||
<bool name="proxy-wxRA_SPECIFY_ROWS">0</bool>
|
|
||||||
<bool name="proxy-wxRA_SPECIFY_COLS">1</bool>
|
|
||||||
<string name="proxy-Items">"Any|H , V and 45 deg"</string>
|
|
||||||
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
|
||||||
<string name="proxy-Custom styles">""</string>
|
|
||||||
<long name="proxy-X">-1</long>
|
|
||||||
<long name="proxy-Y">-1</long>
|
|
||||||
<long name="proxy-Width">-1</long>
|
|
||||||
<long name="proxy-Height">-1</long>
|
|
||||||
<string name="proxy-AlignH">"Right"</string>
|
|
||||||
<string name="proxy-AlignV">"Centre"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Custom arguments">""</string>
|
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
|
||||||
</document>
|
|
||||||
</document>
|
|
||||||
<document>
|
|
||||||
<string name="title">"Spacer"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"spacer"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/4/2006"</string>
|
|
||||||
<string name="proxy-type">"wbSpacerProxy"</string>
|
|
||||||
<long name="proxy-Width">5</long>
|
|
||||||
<long name="proxy-Height">5</long>
|
|
||||||
<string name="proxy-AlignH">"Centre"</string>
|
|
||||||
<string name="proxy-AlignV">"Expand"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
</document>
|
|
||||||
<document>
|
|
||||||
<string name="title">"wxBoxSizer V"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"sizer"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/4/2006"</string>
|
|
||||||
<string name="proxy-type">"wbBoxSizerProxy"</string>
|
|
||||||
<string name="proxy-Orientation">"Vertical"</string>
|
|
||||||
<string name="proxy-Member variable name">""</string>
|
|
||||||
<string name="proxy-AlignH">"Centre"</string>
|
|
||||||
<string name="proxy-AlignV">"Top"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<document>
|
|
||||||
<string name="title">"wxButton: ID_FILL_ZONE"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"dialogcontrol"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/4/2006"</string>
|
|
||||||
<string name="proxy-type">"wbButtonProxy"</string>
|
|
||||||
<string name="event-handler-0">"wxEVT_COMMAND_BUTTON_CLICKED|ExecFillZone"</string>
|
|
||||||
<string name="proxy-Id name">"ID_FILL_ZONE"</string>
|
|
||||||
<long name="proxy-Id value">10002</long>
|
|
||||||
<string name="proxy-Class">"wxButton"</string>
|
|
||||||
<string name="proxy-Member variable name">""</string>
|
|
||||||
<string name="proxy-Label">"Fill"</string>
|
|
||||||
<bool name="proxy-Default">1</bool>
|
|
||||||
<string name="proxy-Help text">""</string>
|
|
||||||
<string name="proxy-Tooltip text">""</string>
|
|
||||||
<string name="proxy-Background colour">""</string>
|
|
||||||
<string name="proxy-Foreground colour">"CC0000"</string>
|
|
||||||
<string name="proxy-Font">""</string>
|
|
||||||
<bool name="proxy-Hidden">0</bool>
|
|
||||||
<bool name="proxy-Enabled">1</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<bool name="proxy-wxBU_LEFT">0</bool>
|
|
||||||
<bool name="proxy-wxBU_RIGHT">0</bool>
|
|
||||||
<bool name="proxy-wxBU_TOP">0</bool>
|
|
||||||
<bool name="proxy-wxBU_BOTTOM">0</bool>
|
|
||||||
<bool name="proxy-wxBU_EXACTFIT">0</bool>
|
|
||||||
<bool name="proxy-wxNO_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
|
||||||
<string name="proxy-Custom styles">""</string>
|
|
||||||
<long name="proxy-X">-1</long>
|
|
||||||
<long name="proxy-Y">-1</long>
|
|
||||||
<long name="proxy-Width">-1</long>
|
|
||||||
<long name="proxy-Height">-1</long>
|
|
||||||
<string name="proxy-AlignH">"Expand"</string>
|
|
||||||
<string name="proxy-AlignV">"Centre"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Custom arguments">""</string>
|
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
|
||||||
</document>
|
|
||||||
<document>
|
|
||||||
<string name="title">"wxButton: wxID_CANCEL"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"dialogcontrol"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/4/2006"</string>
|
|
||||||
<string name="proxy-type">"wbButtonProxy"</string>
|
|
||||||
<string name="event-handler-0">"wxEVT_COMMAND_BUTTON_CLICKED|OnCancelClick"</string>
|
|
||||||
<string name="proxy-Id name">"wxID_CANCEL"</string>
|
|
||||||
<long name="proxy-Id value">5101</long>
|
|
||||||
<string name="proxy-Class">"wxButton"</string>
|
|
||||||
<string name="proxy-Member variable name">""</string>
|
|
||||||
<string name="proxy-Label">"&Cancel"</string>
|
|
||||||
<bool name="proxy-Default">0</bool>
|
|
||||||
<string name="proxy-Help text">""</string>
|
|
||||||
<string name="proxy-Tooltip text">""</string>
|
|
||||||
<string name="proxy-Background colour">""</string>
|
|
||||||
<string name="proxy-Foreground colour">"0000FF"</string>
|
|
||||||
<string name="proxy-Font">""</string>
|
|
||||||
<bool name="proxy-Hidden">0</bool>
|
|
||||||
<bool name="proxy-Enabled">1</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<bool name="proxy-wxBU_LEFT">0</bool>
|
|
||||||
<bool name="proxy-wxBU_RIGHT">0</bool>
|
|
||||||
<bool name="proxy-wxBU_TOP">0</bool>
|
|
||||||
<bool name="proxy-wxBU_BOTTOM">0</bool>
|
|
||||||
<bool name="proxy-wxBU_EXACTFIT">0</bool>
|
|
||||||
<bool name="proxy-wxNO_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
|
||||||
<string name="proxy-Custom styles">""</string>
|
|
||||||
<long name="proxy-X">-1</long>
|
|
||||||
<long name="proxy-Y">-1</long>
|
|
||||||
<long name="proxy-Width">-1</long>
|
|
||||||
<long name="proxy-Height">-1</long>
|
|
||||||
<string name="proxy-AlignH">"Expand"</string>
|
|
||||||
<string name="proxy-AlignV">"Centre"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Custom arguments">""</string>
|
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
|
||||||
</document>
|
|
||||||
<document>
|
|
||||||
<string name="title">"wxButton: ID_SET_OPTIONS_ZONE"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"dialogcontrol"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/4/2006"</string>
|
|
||||||
<string name="proxy-type">"wbButtonProxy"</string>
|
|
||||||
<string name="event-handler-0">"wxEVT_COMMAND_BUTTON_CLICKED|ExecFillZone"</string>
|
|
||||||
<string name="proxy-Id name">"ID_SET_OPTIONS_ZONE"</string>
|
|
||||||
<long name="proxy-Id value">10003</long>
|
|
||||||
<string name="proxy-Class">"wxButton"</string>
|
|
||||||
<string name="proxy-Member variable name">""</string>
|
|
||||||
<string name="proxy-Label">"Update Options"</string>
|
|
||||||
<bool name="proxy-Default">0</bool>
|
|
||||||
<string name="proxy-Help text">""</string>
|
|
||||||
<string name="proxy-Tooltip text">""</string>
|
|
||||||
<string name="proxy-Background colour">""</string>
|
|
||||||
<string name="proxy-Foreground colour">"006400"</string>
|
|
||||||
<string name="proxy-Font">""</string>
|
|
||||||
<bool name="proxy-Hidden">0</bool>
|
|
||||||
<bool name="proxy-Enabled">1</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
<bool name="proxy-wxBU_LEFT">0</bool>
|
|
||||||
<bool name="proxy-wxBU_RIGHT">0</bool>
|
|
||||||
<bool name="proxy-wxBU_TOP">0</bool>
|
|
||||||
<bool name="proxy-wxBU_BOTTOM">0</bool>
|
|
||||||
<bool name="proxy-wxBU_EXACTFIT">0</bool>
|
|
||||||
<bool name="proxy-wxNO_BORDER">0</bool>
|
|
||||||
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
|
||||||
<string name="proxy-Custom styles">""</string>
|
|
||||||
<long name="proxy-X">-1</long>
|
|
||||||
<long name="proxy-Y">-1</long>
|
|
||||||
<long name="proxy-Width">-1</long>
|
|
||||||
<long name="proxy-Height">-1</long>
|
|
||||||
<string name="proxy-AlignH">"Expand"</string>
|
|
||||||
<string name="proxy-AlignV">"Centre"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Custom arguments">""</string>
|
|
||||||
<string name="proxy-Custom ctor arguments">""</string>
|
|
||||||
</document>
|
|
||||||
</document>
|
|
||||||
<document>
|
|
||||||
<string name="title">"Spacer"</string>
|
|
||||||
<string name="type">"dialog-control-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"spacer"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/9/2006"</string>
|
|
||||||
<string name="proxy-type">"wbSpacerProxy"</string>
|
|
||||||
<long name="proxy-Width">5</long>
|
|
||||||
<long name="proxy-Height">5</long>
|
|
||||||
<string name="proxy-AlignH">"Centre"</string>
|
|
||||||
<string name="proxy-AlignV">"Expand"</string>
|
|
||||||
<long name="proxy-Stretch factor">0</long>
|
|
||||||
<long name="proxy-Border">5</long>
|
|
||||||
<bool name="proxy-wxLEFT">1</bool>
|
|
||||||
<bool name="proxy-wxRIGHT">1</bool>
|
|
||||||
<bool name="proxy-wxTOP">1</bool>
|
|
||||||
<bool name="proxy-wxBOTTOM">1</bool>
|
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
|
||||||
</document>
|
|
||||||
</document>
|
|
||||||
</document>
|
|
||||||
</document>
|
|
||||||
<document>
|
|
||||||
<string name="title">"Sources"</string>
|
|
||||||
<string name="type">"html-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"sourcesfolder"</string>
|
|
||||||
<long name="is-transient">1</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">1</long>
|
|
||||||
<document>
|
|
||||||
<string name="title">"zones.rc"</string>
|
|
||||||
<string name="type">"source-editor-document"</string>
|
|
||||||
<string name="filename">"zones.rc"</string>
|
|
||||||
<string name="icon-name">"source-editor"</string>
|
|
||||||
<long name="is-transient">0</long>
|
|
||||||
<long name="owns-file">0</long>
|
|
||||||
<long name="title-mode">1</long>
|
|
||||||
<long name="locked">0</long>
|
|
||||||
<string name="created">"25/4/2006"</string>
|
|
||||||
<string name="language">""</string>
|
|
||||||
</document>
|
|
||||||
</document>
|
|
||||||
<document>
|
|
||||||
<string name="title">"Images"</string>
|
|
||||||
<string name="type">"html-document"</string>
|
|
||||||
<string name="filename">""</string>
|
|
||||||
<string name="icon-name">"bitmapsfolder"</string>
|
|
||||||
<long name="is-transient">1</long>
|
|
||||||
<long name="owns-file">1</long>
|
|
||||||
<long name="title-mode">0</long>
|
|
||||||
<long name="locked">1</long>
|
|
||||||
</document>
|
|
||||||
</document>
|
|
||||||
</documents>
|
|
||||||
|
|
||||||
</anthemion-project>
|
|
|
@ -1 +0,0 @@
|
||||||
#include "wx/msw/wx.rc"
|
|
Loading…
Reference in New Issue