gschem

o_select.c File Reference

#include <config.h>
#include <math.h>
#include <stdio.h>
#include "gschem.h"
Include dependency graph for o_select.c:

Go to the source code of this file.

Functions

void o_select_run_hooks (GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int flag)
void o_select_object (GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int type, int count)
int o_select_box_start (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y)
void o_select_box_end (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y)
void o_select_box_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y)
void o_select_box_invalidate_rubber (GSCHEM_TOPLEVEL *w_current)
void o_select_box_draw_rubber (GSCHEM_TOPLEVEL *w_current)
void o_select_box_search (GSCHEM_TOPLEVEL *w_current)
void o_select_connected_nets (GSCHEM_TOPLEVEL *w_current, OBJECT *o_net)
 Select all nets connected to the current net.
OBJECT * o_select_return_first_object (GSCHEM_TOPLEVEL *w_current)
int o_select_selected (GSCHEM_TOPLEVEL *w_current)
void o_select_unselect_all (GSCHEM_TOPLEVEL *w_current)
void o_select_visible_unlocked (GSCHEM_TOPLEVEL *w_current)
 Selects all visible objects on the current page.
void o_select_move_to_place_list (GSCHEM_TOPLEVEL *w_current)

Function Documentation

void o_select_run_hooks ( GSCHEM_TOPLEVEL w_current,
OBJECT *  o_current,
int  flag 
)

The code in this file is sometimes not obvious, especially o_select_object (which implements the selection of objects either when doing a single or multi select)

Also, there are cases where it looks like there is redundant code, which could be removed/merged, but I purposely didn't do so to keep the code readable

the count == 0 stuff really only applies to when you are coming from a multi select case

Todo:
Finish function documentation!!!
Function Description

Definition at line 50 of file o_select.c.

Here is the call graph for this function:

void o_select_object ( GSCHEM_TOPLEVEL w_current,
OBJECT *  o_current,
int  type,
int  count 
)
Todo:
Finish function documentation!!!
Function Description
Note:
type can be either SINGLE meaning selection is a single mouse click or it can be MULTIPLE meaning selection is a selection box

Definition at line 74 of file o_select.c.

Here is the call graph for this function:

int o_select_box_start ( GSCHEM_TOPLEVEL w_current,
int  w_x,
int  w_y 
)
Todo:
Finish function documentation!!!
Function Description

Definition at line 207 of file o_select.c.

Here is the call graph for this function:

void o_select_box_end ( GSCHEM_TOPLEVEL w_current,
int  w_x,
int  w_y 
)
Todo:
Finish function documentation!!!
Function Description

Definition at line 230 of file o_select.c.

Here is the call graph for this function:

void o_select_box_motion ( GSCHEM_TOPLEVEL w_current,
int  w_x,
int  w_y 
)
Todo:
Finish function documentation!!!
Function Description

Definition at line 243 of file o_select.c.

Here is the call graph for this function:

void o_select_box_invalidate_rubber ( GSCHEM_TOPLEVEL w_current)
Todo:
Finish function documentation!!!
Function Description

Definition at line 259 of file o_select.c.

Here is the call graph for this function:

void o_select_box_draw_rubber ( GSCHEM_TOPLEVEL w_current)
Todo:
Finish function documentation!!!
Function Description

Definition at line 277 of file o_select.c.

Here is the call graph for this function:

void o_select_box_search ( GSCHEM_TOPLEVEL w_current)
Todo:
Finish function documentation!!!
Function Description

Definition at line 293 of file o_select.c.

Here is the call graph for this function:

void o_select_connected_nets ( GSCHEM_TOPLEVEL w_current,
OBJECT *  o_net 
)
Depending on the state of the w_current->net_selection_mode variable
and the net_selection_state of the current net this function will either select the single net, all directly connected nets or all nets connected with netname labels.
Parameters:
[in]w_currentGSCHEM_TOPLEVEL struct.
[in]o_netPointer to a single net object

Definition at line 343 of file o_select.c.

Here is the call graph for this function:

OBJECT* o_select_return_first_object ( GSCHEM_TOPLEVEL w_current)

Definition at line 430 of file o_select.c.

int o_select_selected ( GSCHEM_TOPLEVEL w_current)
Todo:
Finish function documentation!!!
Function Description
Returns:
TRUE if the selection list is not empty, otherwise false. also make sure item is valid

Definition at line 446 of file o_select.c.

void o_select_unselect_all ( GSCHEM_TOPLEVEL w_current)
Todo:
Finish function documentation!!!
Function Description

Definition at line 461 of file o_select.c.

Here is the call graph for this function:

void o_select_visible_unlocked ( GSCHEM_TOPLEVEL w_current)
Function Description
Clears any existing selection, then selects everything visible and unlocked on the current page, and any attached attributes whether visible or invisible..
Parameters:
w_currentThe current GSCHEM_TOPLEVEL structure.

Bug:
We can't call o_select_object() because it behaves differently depending on the state of w_current->SHIFTKEY and w_current->CONTROLKEY, which may well be set if this function is called via a keystroke (e.g. Ctrl-A).

Definition at line 488 of file o_select.c.

Here is the call graph for this function:

void o_select_move_to_place_list ( GSCHEM_TOPLEVEL w_current)
Todo:
Finish function documentation!!!
Function Description

Definition at line 533 of file o_select.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines