Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
0cdcd78b
Commit
0cdcd78b
authored
Jun 29, 2008
by
charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doc update.
parent
8c61ac42
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
144 additions
and
129 deletions
+144
-129
common.cpp
common/common.cpp
+12
-3
eda_doc.cpp
common/eda_doc.cpp
+49
-92
gestfich.cpp
common/gestfich.cpp
+57
-20
block.cpp
gerbview/block.cpp
+17
-11
build_version.h
include/build_version.h
+1
-1
common.h
include/common.h
+8
-2
No files found.
common/common.cpp
View file @
0cdcd78b
...
@@ -277,14 +277,23 @@ void* MyMalloc( size_t nb_octets )
...
@@ -277,14 +277,23 @@ void* MyMalloc( size_t nb_octets )
}
}
/**************************************************************/
bool
ProcessExecute
(
const
wxString
&
aCommandLine
,
int
aFlags
)
bool
ProcessExecute
(
const
wxString
&
aCommandLine
,
int
aFlags
)
/**************************************************************/
/**
* Function ProcessExecute
* runs a child process.
* @param aCommandLine The process and any arguments to it all in a single string.
* @param aFlags The same args as allowed for wxExecute()
* @return bool - true if success, else false
*/
{
{
#ifdef __WINDOWS__
#ifdef __WINDOWS__
wxExecute
(
aCommandLine
);
int
pid
=
wxExecute
(
aCommandLine
);
return
tru
e
;
return
pid
?
true
:
fals
e
;
#else
#else
wxProcess
*
process
=
wxProcess
::
Open
(
aCommandLine
,
aFlags
);
wxProcess
*
process
=
wxProcess
::
Open
(
aCommandLine
,
aFlags
);
return
process
!=
NULL
;
return
(
process
!=
NULL
)
?
true
:
false
;
#endif
#endif
}
}
...
...
common/eda_doc.cpp
View file @
0cdcd78b
...
@@ -54,21 +54,15 @@ void WinEDA_App::WritePdfBrowserInfos()
...
@@ -54,21 +54,15 @@ void WinEDA_App::WritePdfBrowserInfos()
}
}
// Mime type extensions
// Mime type extensions
(PDF files are not considered here)
static
wxMimeTypesManager
*
mimeDatabase
;
static
wxMimeTypesManager
*
mimeDatabase
;
static
const
wxFileTypeInfo
EDAfallbacks
[]
=
static
const
wxFileTypeInfo
EDAfallbacks
[]
=
{
{
wxFileTypeInfo
(
wxT
(
"text/pdf"
),
wxT
(
"xpdf %s"
),
wxT
(
"xpdf -p %s"
),
wxT
(
"pdf document (from Kicad)"
),
wxT
(
"pdf"
),
wxT
(
"PDF"
),
NULL
),
wxFileTypeInfo
(
wxT
(
"text/html"
),
wxFileTypeInfo
(
wxT
(
"text/html"
),
wxT
(
"wxhtml %s"
),
wxT
(
"wxhtml %s"
),
wxT
(
"wxhtml %s"
),
wxT
(
"wxhtml %s"
),
wxT
(
"html document (from Kicad)"
),
wxT
(
"html document (from Kicad)"
),
wxT
(
"htm"
),
wxT
(
"html"
),
NULL
),
wxT
(
"htm"
),
wxT
(
"html"
),
NULL
),
wxFileTypeInfo
(
wxT
(
"application/sch"
),
wxFileTypeInfo
(
wxT
(
"application/sch"
),
wxT
(
"eeschema %s"
),
wxT
(
"eeschema %s"
),
...
@@ -95,7 +89,7 @@ bool GetAssociatedDocument( wxFrame* frame, const wxString& LibPath,
...
@@ -95,7 +89,7 @@ bool GetAssociatedDocument( wxFrame* frame, const wxString& LibPath,
* if DocName is starting by http: or ftp: or www. the default internet browser is launched
* if DocName is starting by http: or ftp: or www. the default internet browser is launched
*/
*/
{
{
wxString
docpath
,
fullfilename
;
wxString
docpath
,
fullfilename
,
file_ext
;
wxString
Line
;
wxString
Line
;
wxString
command
;
wxString
command
;
bool
success
=
FALSE
;
bool
success
=
FALSE
;
...
@@ -158,22 +152,27 @@ bool GetAssociatedDocument( wxFrame* frame, const wxString& LibPath,
...
@@ -158,22 +152,27 @@ bool GetAssociatedDocument( wxFrame* frame, const wxString& LibPath,
return
FALSE
;
return
FALSE
;
}
}
/* Try to launch some browser (usefull under linux) */
wxFileName
CurrentFileName
(
fullfilename
);
g_EDA_Appl
->
ReadPdfBrowserInfos
();
file_ext
=
CurrentFileName
.
GetExt
();
if
(
g_EDA_Appl
->
m_PdfBrowserIsDefault
)
if
(
file_ext
==
wxT
(
"pdf"
)
)
{
{
success
=
OpenPDF
(
fullfilename
);
return
success
;
}
/* Try to launch some browser (usefull under linux) */
wxFileType
*
filetype
;
wxFileType
*
filetype
;
wxFileName
CurrentFileName
(
fullfilename
);
wxString
ext
,
type
;
wxString
type
;
ext
=
CurrentFileName
.
GetExt
();
filetype
=
wxTheMimeTypesManager
->
GetFileTypeFromExtension
(
file_ext
);
filetype
=
wxTheMimeTypesManager
->
GetFileTypeFromExtension
(
ext
);
if
(
!
filetype
)
// 2ieme tentative
if
(
!
filetype
)
// 2ieme tentative
{
{
mimeDatabase
=
new
wxMimeTypesManager
;
mimeDatabase
=
new
wxMimeTypesManager
;
mimeDatabase
->
AddFallbacks
(
EDAfallbacks
);
mimeDatabase
->
AddFallbacks
(
EDAfallbacks
);
filetype
=
mimeDatabase
->
GetFileTypeFromExtension
(
ext
);
filetype
=
mimeDatabase
->
GetFileTypeFromExtension
(
file_
ext
);
delete
mimeDatabase
;
delete
mimeDatabase
;
mimeDatabase
=
NULL
;
mimeDatabase
=
NULL
;
}
}
...
@@ -185,57 +184,15 @@ bool GetAssociatedDocument( wxFrame* frame, const wxString& LibPath,
...
@@ -185,57 +184,15 @@ bool GetAssociatedDocument( wxFrame* frame, const wxString& LibPath,
success
=
filetype
->
GetOpenCommand
(
&
command
,
params
);
success
=
filetype
->
GetOpenCommand
(
&
command
,
params
);
delete
filetype
;
delete
filetype
;
if
(
success
)
if
(
success
)
ProcessExecute
(
command
);
success
=
ProcessExecute
(
command
);
}
}
if
(
!
success
)
if
(
!
success
)
{
{
#ifdef __LINUX__
Line
.
Printf
(
_
(
"Unknown MIME type for Doc File [%s]"
),
if
(
ext
==
wxT
(
"pdf"
)
)
fullfilename
.
GetData
()
);
{
success
=
TRUE
;
command
.
Empty
();
if
(
wxFileExists
(
wxT
(
"/usr/bin/kpdf"
)
)
)
command
=
wxT
(
"kpdf "
)
+
fullfilename
;
else
if
(
wxFileExists
(
wxT
(
"/usr/bin/konqueror"
)
)
)
command
=
wxT
(
"konqueror "
)
+
fullfilename
;
else
if
(
wxFileExists
(
wxT
(
"/usr/bin/gpdf"
)
)
)
command
=
wxT
(
"gpdf "
)
+
fullfilename
;
if
(
wxFileExists
(
wxT
(
"/usr/bin/xpdf"
)
)
)
command
=
wxT
(
"xpdf "
)
+
fullfilename
;
if
(
command
.
IsEmpty
()
)
// not started
{
DisplayError
(
frame
,
_
(
" Cannot find the PDF viewer (kpdf, gpdf, konqueror or xpdf) in /usr/bin/"
)
);
success
=
FALSE
;
}
else
ProcessExecute
(
command
);
}
else
#endif
{
Line
.
Printf
(
_
(
"Unknown MIME type for Doc File [%s] (%s)"
),
fullfilename
.
GetData
(),
ext
.
GetData
()
);
DisplayError
(
frame
,
Line
);
}
}
}
else
{
command
=
g_EDA_Appl
->
m_PdfBrowser
;
if
(
wxFileExists
(
command
)
)
{
success
=
TRUE
;
AddDelimiterString
(
fullfilename
);
command
+=
wxT
(
" "
)
+
fullfilename
;
ProcessExecute
(
command
);
}
else
{
Line
.
Printf
(
_
(
"Cannot find Pdf viewer %s"
),
command
.
GetData
()
);
DisplayError
(
frame
,
Line
);
DisplayError
(
frame
,
Line
);
}
}
}
return
success
;
return
success
;
}
}
...
...
common/gestfich.cpp
View file @
0cdcd78b
...
@@ -74,8 +74,8 @@ static wxString s_HelpPathList[] = {
...
@@ -74,8 +74,8 @@ static wxString s_HelpPathList[] = {
#else
#else
wxT
(
"/usr/share/doc/kicad/help/"
),
wxT
(
"/usr/share/doc/kicad/help/"
),
wxT
(
"/usr/local/share/doc/kicad/help/"
),
wxT
(
"/usr/local/share/doc/kicad/help/"
),
wxT
(
"/usr/local/kicad/doc/"
),
// default install for "universal tarballs" and build for a server (new)
wxT
(
"/usr/local/kicad/doc/
help/
"
),
// default install for "universal tarballs" and build for a server (new)
// wxT( "/usr/local/kicad
/" ), // default install for "universal tarballs" and build for a server (old)
wxT
(
"/usr/local/kicad/help
/"
),
// default install for "universal tarballs" and build for a server (old)
#endif
#endif
wxT
(
"end_list"
)
// End of list symbol, do not change
wxT
(
"end_list"
)
// End of list symbol, do not change
};
};
...
@@ -701,64 +701,101 @@ wxString GetEditorName()
...
@@ -701,64 +701,101 @@ wxString GetEditorName()
return
g_EditorName
;
return
g_EditorName
;
}
}
/***********************************/
void
OpenPDF
(
const
wxString
&
file
)
bool
OpenPDF
(
const
wxString
&
file
)
/***********************************/
/** Function OpenPDF
* run the PDF viewer and display a PDF file
* @param file = PDF file to open
* @return true is success, false if no PDF viewer found
*/
{
{
wxString
command
;
wxString
command
;
wxString
filename
=
file
;
wxString
filename
=
file
;
wxString
type
;
wxString
type
;
bool
success
=
false
;
g_EDA_Appl
->
ReadPdfBrowserInfos
();
g_EDA_Appl
->
ReadPdfBrowserInfos
();
if
(
!
g_EDA_Appl
->
m_PdfBrowserIsDefault
)
if
(
!
g_EDA_Appl
->
m_PdfBrowserIsDefault
)
// Run the prefered PDF Browser
{
{
AddDelimiterString
(
filename
);
AddDelimiterString
(
filename
);
command
=
g_EDA_Appl
->
m_PdfBrowser
+
filename
;
command
=
g_EDA_Appl
->
m_PdfBrowser
+
wxT
(
" "
)
+
filename
;
}
}
else
else
{
{
bool
success
=
false
;
wxFileType
*
filetype
=
NULL
;
wxFileType
*
filetype
=
NULL
;
wxFileType
::
MessageParameters
params
(
filename
,
type
);
wxFileType
::
MessageParameters
params
(
filename
,
type
);
filetype
=
wxTheMimeTypesManager
->
GetFileTypeFromExtension
(
wxT
(
"pdf"
)
);
filetype
=
wxTheMimeTypesManager
->
GetFileTypeFromExtension
(
wxT
(
".pdf"
)
);
if
(
filetype
)
if
(
filetype
)
success
=
filetype
->
GetOpenCommand
(
&
command
,
params
);
success
=
filetype
->
GetOpenCommand
(
&
command
,
params
);
delete
filetype
;
delete
filetype
;
#ifndef __WINDOWS__
// Bug ? under linux wxWidgets returns acroread as PDF viewer,even it not exists
if
(
command
.
StartsWith
(
wxT
(
"acroread"
))
)
// Workaround
success
=
false
;
#endif
if
(
success
&&
!
command
.
IsEmpty
()
)
{
success
=
ProcessExecute
(
command
);
}
else
success
=
false
;
if
(
!
success
)
if
(
!
success
)
{
{
AddDelimiterString
(
filename
);
command
.
Empty
();
command
.
Empty
();
#ifndef __WINDOWS__
AddDelimiterString
(
filename
);
/* here is a list of PDF viewers candidates */
const
static
wxString
tries
[]
=
const
static
wxString
tries
[]
=
{
{
wxT
(
"/usr/bin/evince"
),
wxT
(
"/usr/bin/evince"
),
wxT
(
"/usr/bin/xpdf"
),
wxT
(
"/usr/bin/konqueror"
),
wxT
(
"/usr/bin/gpdf"
),
wxT
(
"/usr/bin/gpdf"
),
wxT
(
"/usr/bin/konqueror"
),
wxT
(
"/usr/bin/kpdf"
),
wxT
(
"/usr/bin/xpdf"
),
wxT
(
""
),
wxT
(
""
),
};
};
for
(
int
i
=
0
;
;
i
++
)
for
(
int
i
i
=
0
;
;
i
i
++
)
{
{
if
(
tries
[
i
].
IsEmpty
()
)
if
(
tries
[
i
i
].
IsEmpty
()
)
break
;
break
;
if
(
wxFileExists
(
tries
[
i
]
)
)
if
(
wxFileExists
(
tries
[
i
i
]
)
)
{
{
command
=
tries
[
i
]
+
wxT
(
" "
)
+
filename
;
command
=
tries
[
ii
]
+
wxT
(
" "
)
+
filename
;
break
;
}
}
}
}
#endif
}
}
}
}
if
(
!
command
.
IsEmpty
()
)
if
(
!
command
.
IsEmpty
()
)
ProcessExecute
(
command
);
{
}
success
=
ProcessExecute
(
command
);
if
(
!
success
)
{
wxString
msg
=
_
(
"Problem while running the PDF viewer"
);
msg
<<
wxT
(
"
\n
command is"
)
<<
command
;
DisplayError
(
NULL
,
msg
);
}
}
else
{
wxString
msg
=
_
(
"Unable to find a PDF viewer for"
);
msg
<<
wxT
(
" "
)
<<
filename
;
DisplayError
(
NULL
,
msg
);
success
=
false
;
}
return
success
;
}
/*************************************/
void
OpenFile
(
const
wxString
&
file
)
void
OpenFile
(
const
wxString
&
file
)
/*************************************/
{
{
wxString
command
;
wxString
command
;
wxString
filename
=
file
;
wxString
filename
=
file
;
...
...
gerbview/block.cpp
View file @
0cdcd78b
...
@@ -309,7 +309,7 @@ void WinEDA_BasePcbFrame::Block_Move( wxDC* DC )
...
@@ -309,7 +309,7 @@ void WinEDA_BasePcbFrame::Block_Move( wxDC* DC )
* Function to move items in the current selected block
* Function to move items in the current selected block
*/
*/
{
{
int
deltaX
,
deltaY
;
wxPoint
delta
;
wxPoint
oldpos
;
wxPoint
oldpos
;
oldpos
=
GetScreen
()
->
m_Curseur
;
oldpos
=
GetScreen
()
->
m_Curseur
;
...
@@ -321,8 +321,7 @@ void WinEDA_BasePcbFrame::Block_Move( wxDC* DC )
...
@@ -321,8 +321,7 @@ void WinEDA_BasePcbFrame::Block_Move( wxDC* DC )
GetScreen
()
->
BlockLocate
.
Normalize
();
GetScreen
()
->
BlockLocate
.
Normalize
();
/* calcul du vecteur de deplacement pour les deplacements suivants */
/* calcul du vecteur de deplacement pour les deplacements suivants */
deltaX
=
GetScreen
()
->
BlockLocate
.
m_MoveVector
.
x
;
delta
=
GetScreen
()
->
BlockLocate
.
m_MoveVector
;
deltaY
=
GetScreen
()
->
BlockLocate
.
m_MoveVector
.
y
;
/* Move the Track segments in block */
/* Move the Track segments in block */
TRACK
*
track
=
m_Pcb
->
m_Track
;
TRACK
*
track
=
m_Pcb
->
m_Track
;
...
@@ -332,9 +331,13 @@ void WinEDA_BasePcbFrame::Block_Move( wxDC* DC )
...
@@ -332,9 +331,13 @@ void WinEDA_BasePcbFrame::Block_Move( wxDC* DC )
{
{
m_Pcb
->
m_Status_Pcb
=
0
;
m_Pcb
->
m_Status_Pcb
=
0
;
track
->
Draw
(
DrawPanel
,
DC
,
GR_XOR
);
// erase the display
track
->
Draw
(
DrawPanel
,
DC
,
GR_XOR
);
// erase the display
track
->
m_Start
.
x
+=
deltaX
;
track
->
m_Start
.
y
+=
deltaY
;
track
->
m_Start
+=
delta
;
track
->
m_End
.
x
+=
deltaX
;
track
->
m_End
.
y
+=
deltaY
;
track
->
m_End
+=
delta
;
track
->
m_Param
+=
deltaX
;
track
->
SetSubNet
(
track
->
GetSubNet
()
+
deltaY
);
// the two parameters are used in gerbview to store centre coordinates for arcs.
// move this centre
track
->
m_Param
+=
delta
.
x
;
track
->
SetSubNet
(
track
->
GetSubNet
()
+
delta
.
y
);
track
->
Draw
(
DrawPanel
,
DC
,
GR_OR
);
// redraw the moved track
track
->
Draw
(
DrawPanel
,
DC
,
GR_OR
);
// redraw the moved track
}
}
track
=
track
->
Next
();
track
=
track
->
Next
();
...
@@ -344,12 +347,15 @@ void WinEDA_BasePcbFrame::Block_Move( wxDC* DC )
...
@@ -344,12 +347,15 @@ void WinEDA_BasePcbFrame::Block_Move( wxDC* DC )
SEGZONE
*
zsegment
=
m_Pcb
->
m_Zone
;
SEGZONE
*
zsegment
=
m_Pcb
->
m_Zone
;
while
(
zsegment
)
while
(
zsegment
)
{
{
if
(
IsSegmentInBox
(
GetScreen
()
->
BlockLocate
,
track
)
)
if
(
IsSegmentInBox
(
GetScreen
()
->
BlockLocate
,
zsegment
)
)
{
{
zsegment
->
Draw
(
DrawPanel
,
DC
,
GR_XOR
);
// erase the display
zsegment
->
Draw
(
DrawPanel
,
DC
,
GR_XOR
);
// erase the display
zsegment
->
m_Start
.
x
+=
deltaX
;
track
->
m_Start
.
y
+=
deltaY
;
zsegment
->
m_Start
+=
delta
;
zsegment
->
m_End
.
x
+=
deltaX
;
track
->
m_End
.
y
+=
deltaY
;
zsegment
->
m_End
+=
delta
;
zsegment
->
m_Param
+=
deltaX
;
track
->
SetSubNet
(
track
->
GetSubNet
()
+
deltaY
);
// the two parameters are used in gerbview to store centre coordinates for arcs.
// move this centre
zsegment
->
m_Param
+=
delta
.
x
;
zsegment
->
SetSubNet
(
zsegment
->
GetSubNet
()
+
delta
.
y
);
zsegment
->
Draw
(
DrawPanel
,
DC
,
GR_OR
);
// redraw the moved zone zegment
zsegment
->
Draw
(
DrawPanel
,
DC
,
GR_OR
);
// redraw the moved zone zegment
}
}
zsegment
=
zsegment
->
Next
();
zsegment
=
zsegment
->
Next
();
...
@@ -407,7 +413,7 @@ void WinEDA_BasePcbFrame::Block_Duplicate( wxDC* DC )
...
@@ -407,7 +413,7 @@ void WinEDA_BasePcbFrame::Block_Duplicate( wxDC* DC )
while
(
zsegment
)
while
(
zsegment
)
{
{
SEGZONE
*
next_zsegment
=
zsegment
->
Next
();
SEGZONE
*
next_zsegment
=
zsegment
->
Next
();
if
(
IsSegmentInBox
(
GetScreen
()
->
BlockLocate
,
track
)
)
if
(
IsSegmentInBox
(
GetScreen
()
->
BlockLocate
,
zsegment
)
)
{
{
/* this zone segment must be duplicated */
/* this zone segment must be duplicated */
SEGZONE
*
new_zsegment
=
(
SEGZONE
*
)
zsegment
->
Copy
();
SEGZONE
*
new_zsegment
=
(
SEGZONE
*
)
zsegment
->
Copy
();
...
...
include/build_version.h
View file @
0cdcd78b
...
@@ -9,7 +9,7 @@ COMMON_GLOBL wxString g_BuildVersion
...
@@ -9,7 +9,7 @@ COMMON_GLOBL wxString g_BuildVersion
# include "config.h"
# include "config.h"
(
wxT
(
KICAD_SVN_VERSION
))
(
wxT
(
KICAD_SVN_VERSION
))
# else
# else
(
wxT
(
"(20080
530-r1107
)"
))
(
wxT
(
"(20080
622-r1138
)"
))
# endif
# endif
#endif
#endif
;
;
...
...
include/common.h
View file @
0cdcd78b
...
@@ -448,9 +448,15 @@ int Get_Message( const wxString& titre, wxString& buffer, wxWindow* frame );
...
@@ -448,9 +448,15 @@ int Get_Message( const wxString& titre, wxString& buffer, wxWindow* frame );
/************************/
/************************/
wxString
GetEditorName
();
// Return the prefered editor name
wxString
GetEditorName
();
// Return the prefered editor name
void
OpenPDF
(
const
wxString
&
file
);
void
OpenFile
(
const
wxString
&
file
);
/** Function OpenPDF
* run the PDF viewer and display a PDF file
* @param file = PDF file to open
* @return true is success, false if no PDF viewer found
*/
bool
OpenPDF
(
const
wxString
&
file
);
void
OpenFile
(
const
wxString
&
file
);
bool
EDA_DirectorySelector
(
const
wxString
&
Title
,
/* Titre de la fenetre */
bool
EDA_DirectorySelector
(
const
wxString
&
Title
,
/* Titre de la fenetre */
wxString
&
Path
,
/* Chemin par defaut */
wxString
&
Path
,
/* Chemin par defaut */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment